[.NET] Unity Application Block を使ってみる (3)
( その2 ← )
ということで、 IoC ( 制御の反転 ) の実装をやってみる。
…あっさり成功。
# これもまぁ、 あたりまえというか、 DI コンテナなら出来てくれんとイカンのですが f(^^;
で。 IoC ってのは…
例えば、 アセンブリ ( dll ) が、 [本体] と [プラグイン] に分かれていて、 [本体] から [プラグイン] の機能を呼び出すのだとします。 制御の方向は [本体] ⇒ [プラグイン] ですね。
このとき、 アセンブリ間の参照関係 ( 依存関係 ) も、 普通に作ると [本体] → [プラグイン] という方向になってしまいます。 すると… [プラグイン] を変えたり増やしたりするたびに、 [本体] の変更も必要になってしまいます。
そこで、 [本体] の方に、 プラグインの機能のインターフェースを定義しちゃいます。 このインターフェースに合わせてプラグインを作れ、 というわけですね。 インターフェース定義が本体側にあるので、 アセンブリ間の参照関係 ( 依存関係 ) は逆転して [本体] ← [プラグイン] となります。
# あれ? こういう説明の仕方をすると、 「制御の反転」 じゃなくて 「依存関係の反転」 ってイメージになっちゃうな… う~む、 困った。 f(^^;
ともあれ、 これで、 来月話すネタの裏が取れました。
さぁ、 マジメにネタ用のコードを書かんと! f(^^;
| 固定リンク
« [.NET] Unity Application Block を使ってみる (2) | トップページ | SQL Server 2008 を導入するときには、 クライアント PC ごとにアップデート作業が必要 ( …になるかも ) »
「プログラミング」カテゴリの記事
- 【.NET / Win8.1 ストアアプリ】 HttpClient で TLS 1.1 / 1.2 に対応するには(2018.06.17)
- 【VS2017 15.7pv2】 XAML のランタイム ツールに 「ヒートマップ」 が増えた(2018.03.28)
- 【.NET Core】 プロジェクトを作ると 「project.assets.json が見つかりません」 エラー(2018.02.10)
- 【#UWP】 ビットマップの表示色を変える (Win2D.uwp 経由で Direct2D を使う)(2017.08.23)
- 【#UWP】 CompactOverlay モード: Picture in Picture というか、「最前面に表示」するウィンドウを作る(2017.08.16)
この記事へのコメントは終了しました。
コメント