MVC: データロジックの処理を担当するモデル層で、一般にデータベース、ローカルデータ、ビーンや他のコンポーネントへのネットワークアクセスが含まれます。
ビューの表示を処理するビューレイヤーは、一般的にXMLレイアウトによって想定され、基本コンポーネントやカスタムViewなどはビューレイヤーを補完する要素として機能します。
制御レイヤーは、ビジネスロジックの処理を担当し、一般的にアクティビティ、フラグメントがこの責任を引き受けます。
MVP: データロジックの処理を担当するモデル層で、一般的にデータベース、ローカルデータ、Beanや他のコンポーネントへのネットワークアクセスを含みます。
ビュー層は、ビューの表示を処理する責任があり、この責任のXMLレイアウトによって一般的に仮定され、基本コンポーネントやカスタムビューなどは、ビュー層の補完的な要素として機能し、アクティビティ、フラグメントは、ビュー層とコントロール層の間の接着剤として機能します。
MVC コントロールレイヤーは Presenter のコントロールレイヤーです。ビジネスロジックを処理する Presenter は、元の MVC コントロールレイヤーから抽出されたコントロールレイヤーとして動作します。
MVVM: データロジックの処理を担当するモデル層で、一般的にデータベース、ローカルデータ、Beanや他のコンポーネントへのネットワークアクセスを含みます。
ビュー層は、ビューの表示を処理するための責任は、一般的にXMLレイアウトによってこの責任を負うには、基本的なコンポーネントとカスタムビューのように補完的な要素のビュー層として機能するように、アクティビティ、フラグメントは、主にビュー層のバインディングイベントトリガを担当している、熟練した、あなたも直接XMLバインディングトリガーイベントですることができます。
ビューレイヤーは、ビューデータのデータドリブンな変更を通じて間接的に変更することができます。ViewModel はデータドリブンなモデルであり、データバインディングによって View と Model を接続し、ビュー層とモデル層の分離を実現し、イベントがトリガーされた後に ViewModel を通してビジネスロジックを処理し、データドリブンな方法でビューデータを修正することで、間接的にビューを修正する機能を実現します。注: ViewModel はビュー層への参照を保持してはならず、Context への参照も保持できません!そうでなければ、それはまだMVPです!
リンクより抜粋