私はRADの名前でここであまり抽象化しようとしているのですか?「あまりにも抽象的」なものがありますか?
ここでは、3つのモデル(メインモデル、マッパーモデル、およびデータベースモデル)を持つデータベーステーブルがあるとします。それぞれ抽象モデル、マッパー、dbテーブルモデルを拡張しています。
この設定は非常にうまく機能します。操作の大半は抽象モデルに実際にあります。しかし、今私はさらに抽象化したいと思っています。私は遠くに行くの?
私はすでに基本的なCRUD操作を抽象化しましたが、今はより高度なものを抽象化することを考えています。
これは、関連するモデルをいくつかフェッチする例です。現在、私はこれを行うでしょう:
$ modelOne-> modelTwo(); modelTwoは明示的に定義されています。
私の考えは、injectModel( 'modelTwo')や魔法のような抽象メソッドを使用することでした。
私のモデルが完全性を維持するためには、常に関連ルールを作成することができます...これはあまりにも遠すぎるのですか?
アドバイスをお待ちしています。
私のコードがどれほどインコヒーレントなのか気にしません。私はそれらの部分に明確な文書とコメントを書くことができます。
、「コンピュータサイエンスのいずれかの問題は、抽象化の別の層で解決することができます」。だから、「あまりにも抽象的」なものはありません。 ;) – FrustratedWithFormsDesigner
Heh。もちろん、抽象化が有用でも有用でもなく、意味を妨げる役目を果たしている瞬間には、あなたは「あまりにも抽象的」になってしまいました。 – Oded
正しく理解しているかどうか分かりませんが、モデル間の関係を探しているかもしれませんが、例としてdoctrine relationsを見てください:http://www.doctrine-project。org/documentation/manual/1_0/en/defining-models#relationships – tawfekov