著作一覧 |
誤解しているかも知れないし、というか今、COM Front(というよりは.NET Frontというほうが正しい)から離脱している――でなぜかSSIを見ていたり――ので部分的にわからないところ(または部分的にしかわからないのかも)があるけれど、なんとなく言われていることが見えてきたように思う。
というか、目の前に見えるのは、クライアント側のページ上の各コントロールが(たとえばXMLHttpRequestで)サーバー上のPageフォーム上の各コントロールとばらばらに通信している世界のように思えるのだが。
もしそうなら、すごくおもしろい。というかむちゃくちゃおもしろい。
#もしそうなら、それはMSの現在のメインストリーム(これは非同期ではあるけれどメッセージングだ)とはまったく異なる、でもおもしろい世界だ。
と思ったけど、まったく異なるは間違いだな。メッセージングの理由は結果を待たないためだ。で結果の反映は個々のコントロールごとになっても構わない。であれば、個々のコントロールごとに独自のセッションを持てば良いのではないか。
だんだん感覚(文字通りの感覚。理屈じゃなくて感覚)を思い出してきた。
入れ物は本当に、単に環境を与えるだけの入れ物に過ぎない。だからコンテナと呼ばれる。
重要なのは、その中に埋め込まれている個々のコンポーネントだ。
コンテナは自立したコンポーネントを扱うためのインターフェイスを持ち、それをコンポーネントに与える。制御の逆転だが、実は逆転ではない。なぜなら主導権を持つのがコンポーネントだからだ。
我々が本気で注力すべきなのはコンポーネントであってコンテナではない。
そういう世界はなんとなく、消えたように見えるけど、実はそうではない。でも現状はそういう世界が無視されているようだ。でも、それは不自然だ、ということ。
では、その世界をうまく制御するにはどうすれば良いのか、ベストプラクティスは何か、その世界を自在に扱うにはこちら側からのエージェントとしてコンポーネントをその世界に送り込む必要がある。どのように作るべきか?
コンピュータの世界はフェッセンディンの世界で、プログラマーはフェッセンディン(違ったかな。もう覚えてないけど)だ。
ということだよね?
そっかぁ。すっかりコンテナ側に目が行ってたよ。
今のDIコンテナには、MSのような基礎(言い方が難しい)が無い。そこは任されている。Strutsがモデルにノータッチなのと同じだ。宇宙飛行士の活躍の場が用意されているということになるのかな。
#制約は別の次元の話。
ジェズイットを見習え |
テスト
>コンテナは自立したコンポーネントを(以下略)<br><br>のパラグラフの内容が言いたかったのですが、長い上に本質的な所にはたどり着けず、ちょっと格の違いを感じた瞬間。<br>やっぱりあの時代をリアルに生き抜いた人とは張り合えんですなぁ(張り合う気は無いけれど)