実践:MVCモデル(4)
By S.Nagao
本記事では、プログラミング開発において有用なフレームワークであるMVC(Model-View-Controller)モデルを、 VTK-wrap-Javaプログラミングを通じて理解します。
第4回は、
実践:MVCモデル(1)
実践:MVCモデル(2)
実践:MVCモデル(3)
に続いて、Model、View、Controllerの関係を理解しましょう。
Model、Controller、Viewの関係
Modelクラス群の親クラスには、Controllerクラスや、Viewクラスへの参照変数は必要ありません。
Modelクラスの親クラスは、変更されたか否かのisDirtyクラスが一般的ですかね。
documentClass extends isDirty
private MeshData;
public getMeshData();
public readParam(){MeshData.readParam();}
public writeParam(){MeshData.writeParam();}
public initialize(){MeshData.initialize();}
モデルクラスが複数ある場合には、documentクラスに複数定義して、一括して管理するほうがやり易いですね。
documentクラスのパラメータを入出力するときには、documentクラスに、readParam、writeParamメソッドを定義して、
それぞれのモデルクラスのreadParam、writeParamメソッドを呼び出します。
もちろん、initialize()メソッドも同様です。documentクラスの初期化で行います。
Viewクラス群の親クラスにも、ModelクラスやControllerクラスの参照を定義する必要はありません。
一方、Controllerクラスの親クラスには、ModelクラスとViewクラスへの参照変数を定義する必要があります。
Controllerクラスでは、要求があった時、まず、Modelクラスを変更します。 次に、Viewクラスを再描画します。
EDTフレームの親クラスには、ModelクラスとViewクラスを宣言する必要があります。 Controllerクラス(大概はパネル)は、必要に応じて宣言します。
Modelクラス、Controllerクラス、Viewクラスは、それぞれ独立して設計し、 それぞれのクラス群を明確に把握しなければなりません。
どのクラス群にも属さないクラスも存在しますが、3つのクラス群とは別に設計してください。 どこに属するか、属さないかを把握することが重要です。
常に、3つのクラス群を頭に入れて、処理を考えると見通しよくプログラムできます。
今回は、ここまで。
次回は、実践:MVCモデル(5)です。