1

複数の ID で Omniauth を使用してログインしています (Facbook、LinkedIn など)。現在、Service と呼ばれる単一のモデルがあり、( providerwith valuesなど)、およびその他のフィールドがいくつかあります。facebooklinkedinoauth_token

ここで、特定のプロバイダーにのみ適用される Service モデルに多くのメソッドを追加しました。たとえば、friend_countプロバイダが の場合にのみ適用されますfacebook

私のコードは臭いがし始め、リファクタリングが必要だと思います。プロバイダー固有の列を多く追加することはないと思うので、ポリモーフィズムは必要ありません。

私の質問は、どの設計パターンを採用する必要があるかです。単一テーブルの継承、またはより単純なものですか?

4

0 に答える 0