MV-VCモデル構想 001
ザクッとMV-VCと言うけど、もう少し考えてみる。
要するにUI/UX部分を「VC」って呼んでる。
で、その操作の結果に従って状態変化する部分が「MV」なわけだ。
こう書くと対話型のフロントエンドとバックエンドに見える。
が、実はもっと抽象化できるんじゃね?
今はブラウザ上でWebAssemble で動かすことを考えてるんだから、さらにバックエンドにWebサーバーが居るわけだ。
その後ろにはアプリケーションサーバーやデータベースサーバーが居る。
ひょっとするとファイルサーバーだってメール(IMAP)サーバーだって居る。
これらについて、オブジェクトを中心にして構図を考えたとき、中心に居る「M」の行動は以下の様に一般化できる。
- 周辺に居る「その他」から要求を得る
- それに対して既定のアクションを起こす
- 必要に応じて自分の状態を変化させる
- 「その他」のオブジェクトに関連する要求を出す
- 要求に対する返事を得る
- 返事に対して必要に応じて自分の状態を変化させる
- 要求元に返事を返す
まあ「M」に限らず、大抵のオブジェクトはこう振る舞うわけだがw
これって、「既定のアクション」にオリジナリティがあるだけで、「要求を得る」部分と「返事を返す」部分は定型化というか、テンプレ化できるんじゃなかろうか。
なんなら、「その他」のオブジェクトに「要求を出す」ところも「返事を待つ」ところもテンプレ化できそう。
「既定のアクション」も、それが動的に変わるシグマ式やある種のマクロじゃ無ければ、静的に決まる。(決まるからこそプログラムの形で記述できる)
ああ、大昔に失敗したJavaBeansは早すぎた技術だったのかもしれないなあ笑
とりま、フロントエンドのUI/UXもバックエンドの各サーバーも、大筋ではマルッと抽象化して同等に扱えるのかもしれない希ガス