0

MVC の一般的な意味で、View と Controller の関係は一般的に M:1 であると予想されますか? つまり、多くのビューが同じコントローラーを使用しますか? しかし、ビューは多くの異なるコントローラーを使用しませんか?

または、任意のビューを任意のコントローラーと交換して、すべてを機能させることができますか? 現時点では、2 つの間にかなり緊密な依存関係があるため、現在のレイアウトでは機能しません...

クラス プロジェクト用に何かを設計しようとしていますが、ビューとコントローラを整理/設計する方法がわかりません。

更新: これまでに受け取った回答は役に立ちましたが、決定的なものではありません。私の質問を少し広げてみましょう。振り返ってみると、重要な側面は、モデルが変更できるということです (戦略パターン*) ある例では、モデルはデータベースを作成する場合があります。別の方法では、データベースから読み取ることができます。私の当初の設計目標は、すべてのモデルを処理できる統一された (シンプルではありますが) ビューを配置することでした。

*コントローラーは戦略パターンの実装と見なすことができると読みました ( here )。私のモデルは、似ていますが別の方法で実装されます。

これは、概念の簡単な(不完全な)クラス図です(更新された情報が与えられた場合):

私の MVC 実装概念のクラス図 http://theopensourceu.com/wp-content/uploads/2010/02/MVC-2334703.png

4

2 に答える 2

1

ビューはコントローラーについて何も知らないはずです。この点で、関係は存在しないと思います。

ビューはモデルを受け取り、それを表示します。このモデルを誰が作成したかは、原則として無関係です。

もちろん、実際には境界が溶けることがあります。コードの依存関係を単純化するなどの理由で、ビューは、どのコントローラーが火を燃やしたかについて何かを知るようになることがあります。しかし、純粋な概念的な議論について話している場合は、いいえ、コントローラーとビューの間に直接の接続はありません。むしろ、彼らは仲介者、つまりモデルを介して通信します。

           ControllerX
--------------------------------
Model1       Model2       Model3
   |            |            |
View1        View2        View3

原則として、同じビューを複数のコントローラーで出力できます。コントローラがモデルをインスタンス化できる場合、それはかなり十分です。

于 2010-02-25T14:37:43.643 に答える
0

MVC構造に対する私自身の見解は次のとおりです。

コントローラー - 最も重要な部分。MVC を 1 つだけ使用する必要がある場合は、これになります。コントローラーでモデルからデータを呼び出してから、データ (および必要なその他のビット) をビュー (またはネストされたビュー) に渡し、ユーザーに送信します。

つまり、1 つのコントローラーで多くのモデルとビューを使用できますが、その逆はできません。

于 2010-02-26T03:04:22.550 に答える