本来は長めの質問にするつもりでしたが、短くした方が意味がよくわかると思います。
MVC アーキテクチャ パターンには 3 つの依存関係があります。ビューはモデルによって異なります。コントローラーはビューとモデルに依存します。モデルは独立しています。
レイヤー アーキテクチャ パターンは、N - 1 の依存関係を定義します。ここで、N はレイヤーの数です。
モデル、ビュー、コントローラーの 3 つのレイヤーがある場合、従来の MVC の 3 つとは対照的に、依存関係は 2 つしかありません。構造は次のようになります。
View ---> Controller ---> Model
[ビューはコントローラーに依存し、コントローラーはモデルに依存します]
このスタイルは同じ目標を達成し、より疎結合を生み出すように私には思えます。このスタイルが一般的ではないのはなぜですか?それは本当に同じ目標を達成していますか?
編集: ASP.NET MVC ではなく、パターンだけです。
グリーグの投稿に関して:
- モックに関する限り、レイヤーではコマンド プロセッサ パターンを使用して、ボタンのクリックやその他の範囲のイベントをシミュレートできます。
- UI の変更は依然として非常に簡単で、おそらくさらに簡単です。MVC では、コントローラーとビューが噛み合う傾向があります。レイヤーは厳密な分離を作成します。両方のレイヤーはブラック ボックスであり、実装を個別に自由に変更できます。
- コントローラーはビューに依存しません。ビューを書き込むことができ、疎結合で時間を節約できます。