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

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

MV-VCモデル構想 001

ザクッとMV-VCと言うけど、もう少し考えてみる。

要するにUI/UX部分を「VC」って呼んでる。
で、その操作の結果に従って状態変化する部分が「MV」なわけだ。

こう書くと対話型のフロントエンドとバックエンドに見える。
が、実はもっと抽象化できるんじゃね?

今はブラウザ上でWebAssemble で動かすことを考えてるんだから、さらにバックエンドにWebサーバーが居るわけだ。
その後ろにはアプリケーションサーバーやデータベースサーバーが居る。
ひょっとするとファイルサーバーだってメール(IMAP)サーバーだって居る。


これらについて、オブジェクトを中心にして構図を考えたとき、中心に居る「M」の行動は以下の様に一般化できる。

  1. 周辺に居る「その他」から要求を得る
  2. それに対して既定のアクションを起こす
    • 必要に応じて自分の状態を変化させる
    • 「その他」のオブジェクトに関連する要求を出す
    • 要求に対する返事を得る
    • 返事に対して必要に応じて自分の状態を変化させる
  3. 要求元に返事を返す

まあ「M」に限らず、大抵のオブジェクトはこう振る舞うわけだがw


これって、「既定のアクション」にオリジナリティがあるだけで、「要求を得る」部分と「返事を返す」部分は定型化というか、テンプレ化できるんじゃなかろうか。
なんなら、「その他」のオブジェクトに「要求を出す」ところも「返事を待つ」ところもテンプレ化できそう。

「既定のアクション」も、それが動的に変わるシグマ式やある種のマクロじゃ無ければ、静的に決まる。(決まるからこそプログラムの形で記述できる)


ああ、大昔に失敗したJavaBeansは早すぎた技術だったのかもしれないなあ笑


とりま、フロントエンドのUI/UXもバックエンドの各サーバーも、大筋ではマルッと抽象化して同等に扱えるのかもしれない希ガス