まず基本設計から。
MVCスタイルで考えるのが時流であるから、Model、View、Controllerにモジュール分けすることには異論は無いだろう。
また少数派のロジック思考支持者であることからControllerから考えるのが筋だと思う。
「ブラウザからの操作を待ち受けるイベントリスナー」が目指すところであるから、Controllerにはこのイベントリスナーを配置すべきである。
おそらくこれも流行に弱い自分としてはActionと命名したくなる。
Actionでいいだろう。
Controllerにはサーバー処理を行うActionを配備する。
Actionはブラウザからの操作…、操作では具体的過ぎるので、これをEventと抽象化しよう…、もとい、Eventを処理するインターフェイスを提供すれば良さそうである。
abstract class SimgAction { abstract public function execute($event); }
こんな感じのクラスになろうか。
因みにプレフィクスの「Simg」は自作フレームワークの愛称である。
simple is great、シンプルは素晴らしい!、が語源であるが、Yahoo!翻訳では「偉人は単純です」となる。
どうやら和製英語のようだが、細かいことは良いだろう。
と言う訳で、Actionのインターフェイスは提示できたが、どうも何か足りない気がする。
処理対象が無いではないか!
Eventを渡されたのは良いが、何をどう処理していいのやら。
おそらくこの何かとは、Modelではないかと思う。
Controllerの大筋は出来たので、次はModelを考えてみよう。