DIなんて言葉で飾らんでも要は外から渡すだけ。初心者は型パズルで自爆しそうだが
依存性注入って翻訳が悪いよな!!!!!!!!
ちょっとした工夫程度のことに大袈裟な名前つけないでほしいわ。フレームワークとか周囲と共有するのが大事ならしょうがないだろうけどさ。
車で例えるならタイヤのがわかりやすい。規格さえ合ってればどこのメーカーだろうが構わないという点で。
laravelの例が応用なので分かり難いかも。要はnewする代わりに、$gateway = app(PaymentGateway::class);と書けばよい。引数がある時は $hoge = app()->makeWith(HOGE::class,[引数]);で書ける。例はlaravelが自動で解決してくれるから上書きしてる
スタート時にstatic変数に沢山詰め込んでるだけ
DIの説明しかしてないけど、各フレームワークを比較してどうこう言うならDIコンテナの話もしないと初学者は混乱するだけな気がする。まあAIに書かせたんだろうが。。。
Java(JakartaEE)のCDIっていう呼び方が本質をついてると思うんだけど流行らんね。contextualであることが利用者にとってはうれしいわけで、staticでいいならグローバル変数でも使っとけ
PHPとかは基本的にnewに割り込めないから外から引数で持ってくるしかない。それをオサレ言葉でwrapしてるだけの話。newに割り込めるなら別段テストで困らないしDIすることの意義は薄くなっていく。
FastAPIのDIはやや異色
AIの匂いが濃いテキスト
インターフェースが定義できない言語でのDIは結構不安だな
“「支払いサービス」が「決済ゲートウェイ」に依存するように、別の機能に依存することは避けられません。Dependency Injection, DI)とは、必要なものを自分で作らず、外から渡してもらう。FastAPI(Python)、Laravel(PHP)、”
ドドスコスコスコ ドドスコスコスコ
AI楽しんごw
IoC、DIコンテナというものが使われ始めてから、はや20年以上。 https://atmarkit.itmedia.co.jp/fjava/rensai3/osc01/osc01.html
依存性注入(DI)とは?“外から渡す”だけでコードがここまで変わる - Qiita
DIなんて言葉で飾らんでも要は外から渡すだけ。初心者は型パズルで自爆しそうだが
依存性注入って翻訳が悪いよな!!!!!!!!
ちょっとした工夫程度のことに大袈裟な名前つけないでほしいわ。フレームワークとか周囲と共有するのが大事ならしょうがないだろうけどさ。
車で例えるならタイヤのがわかりやすい。規格さえ合ってればどこのメーカーだろうが構わないという点で。
laravelの例が応用なので分かり難いかも。要はnewする代わりに、$gateway = app(PaymentGateway::class);と書けばよい。引数がある時は $hoge = app()->makeWith(HOGE::class,[引数]);で書ける。例はlaravelが自動で解決してくれるから上書きしてる
スタート時にstatic変数に沢山詰め込んでるだけ
DIの説明しかしてないけど、各フレームワークを比較してどうこう言うならDIコンテナの話もしないと初学者は混乱するだけな気がする。まあAIに書かせたんだろうが。。。
Java(JakartaEE)のCDIっていう呼び方が本質をついてると思うんだけど流行らんね。contextualであることが利用者にとってはうれしいわけで、staticでいいならグローバル変数でも使っとけ
PHPとかは基本的にnewに割り込めないから外から引数で持ってくるしかない。それをオサレ言葉でwrapしてるだけの話。newに割り込めるなら別段テストで困らないしDIすることの意義は薄くなっていく。
FastAPIのDIはやや異色
AIの匂いが濃いテキスト
インターフェースが定義できない言語でのDIは結構不安だな
“「支払いサービス」が「決済ゲートウェイ」に依存するように、別の機能に依存することは避けられません。Dependency Injection, DI)とは、必要なものを自分で作らず、外から渡してもらう。FastAPI(Python)、Laravel(PHP)、”
ドドスコスコスコ ドドスコスコスコ
AI楽しんごw
IoC、DIコンテナというものが使われ始めてから、はや20年以上。 https://atmarkit.itmedia.co.jp/fjava/rensai3/osc01/osc01.html