X



さっきデザパタはいらないとか言ってたプログラマー来い
■ このスレッドは過去ログ倉庫に格納されています
0001以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/07/29(土) 17:44:38.436ID:DaZG4aDE0NIKU
用事あってレス出来なかったからもう一回こい
0002以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/07/29(土) 17:55:44.479ID:DaZG4aDE0NIKU
お前らは知らぬ間にFactoryMethodとか使ってるからな
0003以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/07/29(土) 17:57:08.143ID:DaZG4aDE0NIKU
まずDIPやDIなんかはそもそもSOLID原則由来であってクリーンアーキテクチャだから使うとかでもない
0005以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/07/29(土) 17:57:48.919ID:DaZG4aDE0NIKU
基本的な大規模WebフレームワークではDIコンテナがビルトインかつ必須なものも多々ある
0006以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/07/29(土) 18:00:12.575ID:DaZG4aDE0NIKU
結合テストならデータベース含めテストすべきだが単体テストではデータベースなどの機能外のものを含めるべきじゃない
0007以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/07/29(土) 18:04:47.341ID:DaZG4aDE0NIKU
依存性注入はグローバル変数などではない
クラスが依存するクラスを増やす事をいう

DI自体はお前らが何も考えず日常的にやっていること
0008以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/07/29(土) 18:11:27.266ID:DaZG4aDE0NIKU
class HogeService {
private final PiyoRepository;
private final HugaRepository;
private final HageRepository;
public HogeService(
PiyoRepository piyoRepo,
HugaRepository hugaRepo,
HageRepository hageRepo
) {
中略
}
}
こんなクラスがあったとしよう。

これを律儀にDIするなら次のようになる

var piyoRepo = new PiyoRepository();
var hugaRepository = new HugaRepository ();
var hageRepository = new HageRepository ();

var hogeService = new HogeService(
piyoRepo, hugaRepo, hageRepo);


いちいちこんなふうにインスタンスを作成してコンストラクタに入れていかなきゃいけない。
リポジトリも別のクラスに依存している場合は更に複雑になる。

このインスタンスの生成を自動でやってくれるのがDIコンテナ

DIコンテナは一つのインスタンスを使い回すのではなくインスタンスの生成および依存性の解決を勝手にやってくれるもの。
0009以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/07/29(土) 18:11:54.857ID:DaZG4aDE0NIKU
わかったかバカが
0010以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/07/29(土) 18:15:03.221ID:DaZG4aDE0NIKU
そもそも学校で習う程度の知識なのによくDIをグローバル変数とかおかしな事抜かせるな
0011以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/07/29(土) 18:19:41.789ID:DaZG4aDE0NIKU
デザパタいらんとかIteratorすらも使ってないのかな
0012以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/07/29(土) 18:25:58.219ID:DaZG4aDE0NIKU
はやくこい
0013以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/07/29(土) 18:43:45.537ID:DaZG4aDE0NIKU
おい
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況