自作DIコンテナ作ってるんだが

■ このスレッドは過去ログ倉庫に格納されています
0001以下、5ちゃんねるからVIPがお送りします2023/03/25(土) 14:28:27.860ID:PoRg/5gMa
基本的なDIは出来るようになった
あとスコープとかインスタンスのライフタイムとかつけたいんだがスコープを分ける方法がわからん

0002以下、5ちゃんねるからVIPがお送りします2023/03/25(土) 14:31:26.057ID:IZ2pS67b0
いいね

0003以下、5ちゃんねるからVIPがお送りします2023/03/25(土) 14:31:45.729ID:PoRg/5gMa
Container {
children: Vec<Container>
}
にしていくのか
Vec<{
key: Container
}>
にしていくのか

0004以下、5ちゃんねるからVIPがお送りします2023/03/25(土) 14:32:19.689ID:PoRg/5gMa
>>2
馬鹿だからDIコンテナを知るためにDIコンテナを作ってる

0005以下、5ちゃんねるからVIPがお送りします2023/03/25(土) 14:33:10.882ID:IZ2pS67b0
>>4
アホや

0006以下、5ちゃんねるからVIPがお送りします2023/03/25(土) 14:33:11.016ID:PoRg/5gMa
下の場合別のデータクラス定義する必要があるか

0007以下、5ちゃんねるからVIPがお送りします2023/03/25(土) 14:35:25.808ID:io+Qj6bjr
let child = container.createChild("child1")
みたいにして、スコープは
@Injectable({scope: "child1"})
な感じで指定するか

0008以下、5ちゃんねるからVIPがお送りします2023/03/25(土) 14:37:13.891ID:io+Qj6bjr
>>5
わかる
でもなんかDIコンテナの動きって不思議じゃん?だから仕組み知りたいなって思わない?
大まかな動きは想像できるけど詳細を知りたかった

0009以下、5ちゃんねるからVIPがお送りします2023/03/25(土) 14:41:21.866ID:io+Qj6bjr
あー
スコープって違うなライフタイム関連だな
コンテナはネストしなきゃだめだ

0010以下、5ちゃんねるからVIPがお送りします2023/03/25(土) 14:43:35.340ID:io+Qj6bjr
やりやすいのからやっていくか
シングルトンデコレーターとオートインジェクションはすぐできそう

0011以下、5ちゃんねるからVIPがお送りします2023/03/25(土) 14:58:49.815ID:6+O3EXWSr
登録時にSingletonスコープならグローバルスコープ用のレジストリにインスタンスを登録する
解決時にグローバルスコープ用のレジストリからインスタンスを持ってくる
Transientスコープなら解決時に都度インスタンスを生成する
Scopedスコープ:?

0012以下、5ちゃんねるからVIPがお送りします2023/03/25(土) 15:05:40.276ID:yN4xth6Dr
スコープ用のマップをコンテナ内に持っておいて解決時に取り出せばいいのか

0013以下、5ちゃんねるからVIPがお送りします2023/03/25(土) 15:07:32.102ID:yN4xth6Dr
もうだいぶ使えるな

■ このスレッドは過去ログ倉庫に格納されています