[アイデア] MVCの次はMVFCだ。

[アイデア] MVCの次はMVFCだ。
<-- 引用始点 -->
Model View Controller(モデル・ビュー・コントローラ; MVC)は、コンピュータ内部のデータをユーザに提示し、それに対してユーザが何らかの指示を出すタイプの、独自のユーザーインタフェースをもつアプリケーションソフトウェアを、以下に述べるようなmodel・view・controllerの3つの部分に分割して設計・実装するという技法、又はそのような構造をいう。
��-- 引用終点 -->

システム開発を考えるとき、同じシステムにカスタムを加えて顧客に提供することがよくある。
追加機能がシステムに対して最初(入力)もしくは最後(出力)であればシステムそのものに変更を加える必要は無いが、処理の途中部分に追加要望があるとシステムそのものに変更を加えてリリースする必要がある。
そこでシステムの構造を
 ・モデル(DB)
 ・ビュー(表示)
 ・フロー(処理の流れ)
 ・クラス(処理の内容)
で表すことで、プログラム実体であるクラスは共通で、ビューやフローを個別化することができるのではと考える。
プラレール的なイメージで言うならば、線路や踏切などの部品がクラスで、それらを組み合わせてサーキット状にしたものがフロー。ビューが周りに置く木とかトンネルとかで、モデルが電車ってとこか。
走る電車や線路のパーツは共通なんだけど、組み合わせと装飾で見え方が全然変わるイメージ。パーツに新しい物を足しても既存の線路は変わらず、新しい組み合わせが可能になる。
ん~、オブジェクト指向の延長から抜け出れてない気もする。