2017-09-08 8 views
-2

私はソースコードを取得しており、ドキュメントを使用して理解しようとしていました。MVVMでMVPを使用することができます

ドキュメンテーションでは、このコードでMVPとMVVMの両方を使用してプロジェクトを作成していることが記載されています。

誰かがわたしのこれらの次の質問に答えることができます: -

  1. 単一のプロジェクト(MVPとMVVMの両方)に2つのデザインパターンを使用してのポイントは何ですか?
  2. mvp、MVC、または他のデザインパターンを使ってソースコードを調べると、簡単に知ることができますか?
  3. あなたはどのようなデザインパターンのレイヤーですか?どんなデザインパターンでプロジェクトを作るために最低限のレイヤーを使用するのですか?できるだけ多くのレイヤーを持つメリットは何ですか?
  4. JavaロジックとAndroidロジックの違いは何ですか?私たちは単純に、より良いテスト環境のためにどのデザインパターンを使用してもアンドロイドロジックからJavaを分離しています。例を挙げてください。
+0

私は[この記事](https://msdn.microsoft.com/en-us/magazine/hh580734.aspx)はあなたに興味がありますが、デザインイデオロギーの観点から質問の問題について直接議論すると思いますそのようなアプローチの背後にある – xmike

+0

あなたは私に言えますか....どんなデザインパターンの層ですか?どんなデザインパターンでプロジェクトを作るために最低限のレイヤーを使用するのですか?可能な限り多くのレイヤーを持つメリットは何ですか? - –

答えて

1

コードは、MVCを使用している場合は、次のように表示されます。

  1. モデル:モデルは、データ情報が含まれています。コントローラとビューを呼び出したり使用したりしません。ビジネスロジックとデータを表現する方法が含まれています。何らかの形でこのデータの一部がビューに表示されることがあります。また、一部のソースからデータを取得するためのロジックを含めることもできます。

  2. コントローラ:ビューとモデルの間の接続として機能します。ビューの呼び出しコントローラとコントローラはモデルを呼び出します。基本的に、モデルおよび/またはビューに適宜変更を通知します。

  3. 閲覧: UI部分を扱う。ユーザーと対話します。 については

MVVM(モデルビュービューモデル):

のViewModel:

  1. これは、ビューの状態を表したものです。
  2. ビューに表示されるデータを保持します。
  3. ビューイベント(別名プレゼンテーションロジック)に応答します。
  4. ビジネスロジック処理のために他の機能を呼び出します。
  5. viewに何も表示させないように直接求めないでください。

今度は、MVP(モデルビュープレゼンター)を見てみましょう:

伝統的なMVCに似

が、ControllerPresenterに置き換えられます。しかしPresenterは、Controllerと異なり、ビューの変更も担当します。通常、ビューはプレゼンターを呼び出さない。

今すぐご質問:

単一のプロジェクト(MVPとMVVMの両方)に2つのデザインパターンを使用してのポイントは何ですか?
回答:それは必要かもしれません。また、彼らは非常に密接に関連していると私は言ったように、特定の種類の問題を解決するために2つを混在させることが有用かもしれません。

mvp、MVC、または他のデザインパターンを使用して作成されたソースコードを見て簡単に知ることができますか?

回答:私が提供した説明を読んでください。どのパターンがコードによく似ているか調べてみてください。複数のデザインパターンが使用されている可能性があります。

どのようなデザインパターンのレイヤーがありますか?どんなデザインパターンでプロジェクトを作るために最低限のレイヤーを使用するのですか?できるだけ多くのレイヤーを持つメリットは何ですか?
回答数:レイヤーの数には、そのようなハードとファーストルールはありません。コードを再利用可能、メンテナンス可能、拡張用にオープンし、ソフトウェアエンジニアリングのベストプラクティスに従うには、設計パターンに従うことが重要です。

Javaロジックとアンドロイドロジックの違いは何ですか?私たちは単純に、より良いテスト環境のためにどのデザインパターンを使用してもアンドロイドロジックからJavaを分離しています。例を挙げてください。

回答:JavaロジックやAndroidロジックと呼ばれるものはありません。

+0

あなたはどのようなデザインパターンの層ですか?どんなデザインパターンでプロジェクトを作るために最低限のレイヤーを使用するのですか?可能な限り多くのレイヤーを持つメリットは何ですか? –

+0

@AbhishekKumarあなたが使用しようとしているデザインパターンによって異なります。デザインパターンは、特定のタイプの問題を解決するために長年にわたってソフトウェアエンジニアが従ってきたベストプラクティスの結果です。複数のデザインパターンを使用して問題を解決できます。したがって、これらの多くのレイヤーを持つ必要があるという厳格で速いルールはありません。たとえば、シングルトンパターンには1つのレイヤーしかありません。 –

+0

私の質問は残っています...あなたは単に「レイヤー」とはどういう意味ですか? 「モデル」、「ビュー」、「プレゼンター」のレイヤーですか? MVPを使用している場合は3層構造になっていますか?私が間違っていれば私を修正してください。可能であれば –

関連する問題