1

モデルの実装に疑問があり、問題の合理的な説明を見つけることができません。私が取り組んでいる例を紹介します。これはブログを実装するMVCです。

私はControllerPostであり、特定の投稿の読み取りを制御する責任があります。ブログは結果的にModelPostを持っています

ModelPostには、必要なすべてのメソッドが含まれている必要がありますか?

method getPost()
method getComment()
method getArchive()

または、メソッドを分離する必要がありますか?

ModelPost
     method getPost()
ModelComment
     method getComment()
ModelArchive
     method getArchive()

これは私に多くの混乱を引き起こします、私は例を見ますが、適切な説明がありません。私はそれが私の疑問で明確であったことを願っています、そうでなければもっと説明するようにしてください

みんなありがとう

4

1 に答える 1

2

私が取り組んできたほとんどのプロジェクトでは、データベーステーブルのモデルクラスがありました。主にZendMVCを使用します。これは、各エンティティのZend_Db_Tableクラスを拡張することを意味します。したがって、あなたの場合、コメント、投稿、アーカイブが異なるテーブル(私はそれらがそうであると思います)である場合、get、update、insert、delete(および他の同様の)メソッドを使用して別々のクラスを構築します。

これは少し話題から外れるかもしれませんが、ドメイン駆動開発(DDD)を調べることをお勧めします:ここにいくつかの良い読み物へのリンクがあります:Zendを使用したドメイン駆動設計

また、これを読んでください:

DDDの主な点は、データベーステーブルについて考えることから、アプリケーションの主要な論理部分について考えることへと考え方を切り替え、その下に永続化レイヤーを、その上にアプリケーションとサービスレイヤーをゆっくりと追加することです。

于 2012-04-13T22:03:34.603 に答える