2016-11-02 2 views
0

:モデル層でMVCでは、1つまたは複数のモデル/コントローラクラスですか? MVCを使用して複数のウィンドウアプリケーションのコンテキストにおいて

  • 、Observerパターンを実現するために、私は1つのテーマクラスを使用し、他のすべてのモデルクラスを有していなければならない通知するためにそれを使用オブザーバー?あるいは、複数の科目を作成すべきですか?
  • 同様に、1つのコントローラでビュー上のすべてのアクションを処理する必要がありますか、複数のコントローラを持つことはできますか?

答えて

0

「頭の最初のデザインパターン」は、オブザーバパターンに優れた章を持っています。たとえば、次のようになります。

私は1つのSubjectクラスを使用し、他のすべてのModelクラスでオブザーバーに通知する必要がありますか?

オブザーバーがすべて同じデータを必要とするかどうかによって異なります。オブザーバーは、異なるデータが必要な場合は、複数の対象クラス

を使用私は1つのコントローラは、ビュー上で可能なすべてのアクションの世話をしたり、多分複数のコントローラ

これは、あなたが期待される答えではないかもしれないが持っているはず、しかし、すべてのコントローラーのインスタンスを作成するのではなく、ビューのコンストラクターにインターフェースを渡すこともできます。このインタフェースは、コントローラによって実装される必要があります。 例:

class controller implements foos 
{ 
public static void run(); 
} 


interface foos{ 
    public static void run(); 
} 


public class view 
{ 
    foos controllerInstance; 
    //constructor 
    view(foos paramController) 
    { 
    this.controllerInstance = paramController; 
    } 
    //later in the code 
    controllerInstance.run(); 
} 

あなたはrunメソッドがのparamaterを使用してデータを渡すことができたい場合。 希望します。

(最初の回答はSO)

関連する問題