DIコンテナ
WikipediaのDependency injectionのページに掲載されてちょっとやる気が出たので、ContainerJSに自動インジェクション機能を追加し、ver 0.4.0としてリリースしました。→Google Code - ContainerJS自動インジェクションは、依存性注入が必要なプロパティに規…
思い立ったが吉日、ということでGoogle Codeで「JavaScriptで使えるDIコンテナ」プロジェクトを立ち上げました。 ContainerJSProject Home だけはなんとか英訳をでっちあげてみました。きっと悲惨なことになっているに違いない。ということで今日からオープ…
Modelの更新をリスンするで作ったリスナ登録ユーテイリティをDIコンテナで使えるようにしてみました。 DIコンテナに登録された関連づけ情報に従って、コンポーネントにリスナを設定します。 ユーティリティはEagerSingletonなので登録するだけでOK 以下はサ…
以前作成したJavaScriptで動くDIコンテナにこっそり機能を追加していたので公開してみます。 新機能は次の3つです。 コンポーネント定義を列挙するAPIの追加。 関数実行結果のインジェクションをサポート。 EagerSingletonスコープ コンポーネント定義の列挙…
JavaScriptで動くDIコンテナの解説その3。グローバルインターセプターはすべてのコンポーネントに適用されるインターセプターです。複数のコンポーネントに一括してインターセプタを適用したい場合に使います。 binder.bindInterceptor()でコンテナに登録し…
JavaScriptで動くDIコンテナの解説その2。バインドメソッドは、登録済みコンポーネントの任意の関数をコンポーネントとして登録する機能です。 モデルのリスナーとしてUIコンポーネントの関数を登録。 →変更通知を受けてUIを更新。 通信エラーのコールバック…
JavaScriptで動くDIコンテナを作ってみました。(→計画) 一般的なDIコンテナが持つ機能をサポート インスタンス管理(Singleton or Prototype)、プロパティインジェクション、初期化メソッドの実行など コンポーネント定義はJavaScript APIで。 設定ファイルは…
JavaScriptで使えるDIコンテナはないかなとGoogleで10分だけ探したけど見つからなかったので、作ることにしました!(予定) 何に使うの? MVCでUIを作ると、各レイヤー間の依存関係が何気に複雑になりがちです。 要素のイベントハンドラとコントローラの関連付…