Model View Controller に代わる「設計方法」は何ですか? MVC は人気があるようですが (SO は MVC で構築されています。私はそれを知っています)、使用される唯一の方法ですか?
8 に答える
いくつかの異なる対話型アプリケーション アーキテクチャ パターンの最高の記事の 1 つは、この非常に詳細で十分に調査されたブログ投稿です。Model-View-Controller、Model-View-Presenter の 3 つの異なるフレーバー、Presentation-Abstraction-Control のいくつかの異なるフレーバー、Supervising Controller、Passive View、および Hierarchical MVC をカバーしています。
もう 1 つの興味深いパターンは、Atomic Objects によるPresenter Firstパターンです。それは単なるデザイン パターンではなく、プロセス パターンでもあります。IOW: 「Presenter First」という名前は恣意的なものではありません。実際には、Presenter が最初に作成され、システムの残りの部分の設計を推進する開発プロセスを表しています。
他にもたくさんあります:
-
- これは WPF アプリケーションでは一般的です (ただし、Prismは (通常) MVP パターンを使用します)。
MVC はアーキテクチャ パターンです。これらは、試すことができる他のアーキテクチャ パターンです (ウィキペディアから)。
- レイヤー
- 多層アーキテクチャ
- プレゼンテーション抽象化制御 (PAC)
- モデル ビュー プレゼンター (MVP)
- モデル ビュー ビューモデル (MVVM)
- パイプライン
- 暗黙の呼び出し
- 黒板システム
- ピアツーピア
- サービス指向アーキテクチャ (SOA)
- 裸のオブジェクト
これらはウィキペディアで入手できます。
DCI - 「データ、通信、相互作用」
http://www.antonioshome.net/kitchen/nbdci/index.php#dci-はじめに
http://www.artima.com/articles/dci_visionP.html
オブジェクト指向プログラミングの常識- MVC vs DCI
MVC は、デザイン パターンの大きなグループの一部です。あなたがどれだけの経験をお持ちかわかりませんので、この回答をどのようにターゲットにすればよいかわかりません。私は .NET プログラマーですが、Java の本Head First Design Patternsが非常に役に立ちました。通常、設計パターンは、同様の問題の解決に役立つ他のパターンのグループに分割されます。
また、Data Object Factory の Web サイトも非常に役に立ちました。お気に入りの言語でいくつかのリソースを探してみてください。
代替手段としてはあまり使用しませんが、MVC-ARSと呼ばれるハイブリッドを使用します。