web-dev-qa-db-ja.com

MVPとクリーンアーキテクチャの違いは何ですか

質問は自明です、私の考えを追加するだけです:
私が読んだ限りでは、Clean Archのプレゼンテーションレイヤーは、MVPのMVと同じ責任があります。

他のパターンではなく、1つのパターンを選択することをどのように決定しますか?

13
Mehrdad Shokri

Bob Martinが " Clean Architecture "と呼んだものは、より「メタアーキテクチャ」であり、階層型アーキテクチャを作成するための高レベルのガイドラインです。それは何も言っていません

"モデルレイヤー、ビューレイヤー、プレゼンテーションレイヤーが必要であり、それらは [〜#〜] mvp [〜#〜] "を使用して実装する必要があります。

"依存関係は外側の円から内側の円に移動する必要があり、その逆ではない"のような、レイヤーのより一般的なルールのみが含まれます。また、MVPではビュー(= UI)がプレゼンターを知っている可能性がありますが、プレゼンターはインターフェースによってビューから切り離されているため、MVPはこのルールを満たす多くの可能なソリューションの1つにすぎません。

もちろん、「クリーンアーキテクチャ」システム内でMVPを使用できますが、これが唯一の正しいアプローチではありません。 「インナーレイヤー」がUIについて特別なことを何も知らず、UIがBob Martinの記事で説明されている他の「クリーンアーキテクチャ」のルールにも従うUIデザインは問題ありません。

15
Doc Brown