いっせいの!!細かなつぶやき

細かなことをぽつぽつと呟いてます

横道にそれるけどMVCと言う集団幻想について笑

MVCって言葉には違和感があるんだよね。
モデル・ビュー・コントロールって実体(オブジェクト)を主体としたネーミングで、ソフトを設計する側もこの常識にとらわれちゃう。


本来、コントロールでのイベント発生時にビューとモデルに通知して、それぞれが自分自身の状態を適宜変更、さらにモデルの処理の結果によってビューの状態を適宜変更ってメカニズムなわけだ。

でも現在OOPLと呼ばれてるオブジェクト思考言語で実装すると、コントロール等にイベントリスナーを登録して、イベント発生時に(コールバックって形で)コントロールオブジェクトがモデルやビューのメソッドを実行してしまうわけだ。呼び出される側の都合はあまり考えずにw

しかも、メソッド呼び出しを通じて三者が密接に絡んでるから、何か機能を追加する度にゴチャゴチャしてきて、依存関係が混乱してくる笑

結局、MVCって理念は分かるとしても、実際は三権分立してないよね〜


やっぱ現在OOPLと呼ばれてる言語の基本的な概念に問題があって、事態を複雑にしてると思うんだよねー