あなたはどちらを好きですか?私は両方を調べてきましたが、人々がそれらを呼んでいることに間違いがあるようです。MVCまたはMVPですか?どのデザインパターンが最も理にかなっていますか?
私は、違いが何であるかを書き留めておき、私が間違っていれば私を修正できます。
MVC
- モデルは、それがオブザーバーに通知モデルへの更新に、それ自身のオブザーバー(ビュー)への参照を保持しています。
- ビューは、すべてのイベントとメッセージをコントローラに渡します。ビューは、モデルによって変更が発生したことが通知されると、その内容を更新します。ビューには、コントローラとモデルへの参照が保持されます。
- コントローラはモデルを保持し、(時には)ビューを保持します。ユーザ入力に対応するコントローラメソッドを呼び出すビュー、コントローラは、次によう応じモデルmaniuplates、時には(特定のビューをクリック上のボタンをブロッキング、等)を表示
MVPを操作
- モデルにはビューへの参照がありません。プログラムのデータ抽象化のみを提供します。モデルには何も参照されません。
- MVCビューと同様に、ユーザーの入力に応じて対応するPresenterメソッドを呼び出します。ビューにはプレゼンターのみが参照できます。
- Presenterにはビューとモデルの参照があります。ビューがプレゼンターのメソッドを呼び出すと、プレゼンターはモデルを操作してからビューを操作します。
私はMVCの仕組みを理解していますが、MVPがiffyのようなものであれば分かります。私は本当にMVCが本当に気に入っていますが、私にはあまりうまくいかない部分は、データレイヤーの抽象化だけになっているモデルもViewsへの参照を保持して更新するという事実です。それは意味をなさない。
ストレート・テキスト(長い行の場合)を使用すると、ブロック・クォートがコード・サンプル・ブロックより読みやすくなります。 –
http://stackoverflow.com/questions/2056/what-are-mvp-and-mvc-and-what-is-the-difference –
@ejac、ブロック見積もりはどうすればできますか? – DevDevDev