DIコンテナ

プログラミングデザインパターン

DIとは?

 状態:-  閲覧数:1,768  投稿日:2009-07-10  更新日:2017-10-19  
英語表記
・Dependency Injection

依存性の注入
・オブジェクト生成時に他のオブジェクトを注入している形式
・クラス外でインスタンスを生成して、クラス外から引数として渡す
・コンポーネント間の依存関係をプログラムのソースコードから排除し、外部の設定ファイルなどで注入できるようにするソフトウェアパターン


DI導入メリット


クラスの単体テストがしやすくする


DI実装


コンポーネント間の関係
・インタフェースを用いて記述

コンストラクタ内でインスタンス生成を行わなくなる

引数として(Interfaceをimplementsしたクラスの)インスタンスを受け取るようになる


DIコンテナとは?


英語表記
・DI Container
・Dependency Injection Container

DI処理をコンテナの変数にまとめ、シンプルにする
・依存性を定義してコンテナという形で保管しておく
・そのコンテナを取り出すだけで依存関係を処理できるようになる
・新しいオブジェクトを作成する際、DI コンテナが自動的に依存をインスタンス化し、新しく作成されたオブジェクトに注入して、 依存を解決する

アプリケーションにDI機能を提供するフレームワーク
・「DI」と呼ぶデザインパターンに基づいて作られたコンポーネント群を集中管理するためのソフトウエア

DIコンテナを使用しないと?
・使用する度に毎回依存性のあるものを生成して注入しなければいけない


デザインパターン

コメント投稿(ログインが必要)



類似度ページランキング
順位 ページタイトル抜粋
1 DIコンテナ 100
2 コンテキスト 50
3 コンテナフォーマット 50
4 VPAID 36
5 コネクション 33
6 ワンライナー 33
7 OpenID 33
8 コンポーネント 31
9 コーディング 31
10 DNSレコード 31
11 テンプレートエンジン 25
12 UI 25
13 アッパーコンパチブル 25
14 システムインテグレーター 22
15 API 22
16 DMZ 22
17 エンタープライズシステム 22
18 コミット 20
19 CRUD 20
20 デーモン 20
2024/7/13 23:18 更新