オブジェクト指向で設計すると
サービスを提供するばかりで、
実際、そのオブジェクト達を
どうコントロールすれば、いいの?
って、話をよく耳にします。
で、コントローラとか、マネージャー
というクラスを作って、制御するんだよー
っていう解決策に持っていくことになります。
そうです、巷ではやっているMVCモデルで
解決すればいいと言う話です。
MVCは、モデル・ビュー・コントロールの略ですが、
-画面等のビュー
-ビジネスロジックとデータの集まりであるモデル
をオブジェクト指向で設計し、
コントローラーで
制御するということです。
オブジェクト指向に固執すると解決できません。
コントローラって、いうのは制御する側だから、
サブジェクト指向なプログラムですもんね。
でもね、ちょっと考えたら、
サブジェクトはプログラムとしても
書く必要がないんですよね。
この仕事がきたらこの人ってな感じで、
仕事を振り分ける
だけなんですから、
この仕事が来たらこの人にお願いするっていう
データを用意するだけで動く
仕組みにするべきなんです。
つまり、呼ぶ側はフレームワークに任せて、
呼ぶルールは、データ化することで、
ルールが変わっても、
データを修正すればよい仕組み
にしておくということです。
ただ、MVCに固執した
よくあるフレームワーク(strutsなど)は
ここで終わっているので、
結局ビジネスロジックは、べたでプログラミングしなあかんの?
ってことになっています。
どう解決するかは、ここには載せません。
(コメント等で個別に聞いてください。)
コメントする