DIパターンはオブジェクトグラフ構築するときに必須と考えてよいと思いますが(IoCはしたいしService Locatorパターンは不要な依存関係を持ち込むので嫌なのじゃ)、DIコンテナのような重量級ソリューションの必要性については意見が分かれるところですね
2020-07-03 02:03:49よくあるWebフレームワークの場合だとControllerの依存コンポーネントをどっかから注入してやる必要があり、しかしControllerクラスのインスタンス化はフレームワークの役目なので自動的にDIコンテナ相当のものが出現してしまう
2020-07-03 02:10:40DI自体依存性をどう扱うかって話だけど、DIコンテナとなるとだいたいAOPやannotation│decorator的文脈入ってきて依存を流し込むのを抽象化してるから個人的には依存関係が追いづらい、更にシングルトンまで入ってくると寿命も追わないといけなかったりでトラブったときの難易度は上がる気がしてる
2020-07-03 02:42:07DIコンテナ、言語拡張の側面が強いという認識が広がってほしくて、そうなると「ベースとなるプログラミング言語」と「DIコンテナにより拡張された言語」との棲み分けができてるか、という観点で話ができるんじゃないかと思った。
2020-07-03 02:44:42DIコンテナ、バイナリをdllとして差し替える前提の世界観の産物だと思ったんだけど、Laravelが採用してて何も分からんってなった。
2020-07-03 02:48:38DIコンテナって、継承を使って機能を拡張していくより、集約やコンポジションを使ってパーツを組み立てていく方が良いという流れから、オプジェクトの組み立て方を強化するために出て来た方法論というイメージ。
2020-07-03 02:56:11DIはAPIを定義したclassのインスタンスを引数で渡す。 以上。 でしかないと思うのだが… DIコンテナはDIで渡すインスタンスを管理する仕組みだよね。 twitter.com/n_1215/status/…
2020-07-03 07:01:36DIの話をしているのに、DIコンテナライブラリの認識で話をされると、オブジェクトのライフサイクル管理の話とかもまざってくるのでまじめんどくさいし会話したくない
2020-07-03 01:35:02DIが話題になってるらしいけど、全然DIについてのTL見受けられないな・・・。 TSでTSyringe導入しようとしたけど、「これ以上の学習コスト耐えられん・・・」と言われ断られた。なのでコンテナ自作した。コンテナの方が使いやすいじゃんってなった。コンストラクタの自由が奪われるのは嫌だと思った。
2020-07-03 07:49:12「DIから必須とは言えない部分を削ぎ落としていけばDIの中核を見いだせるのでは?」 「なるほど、やってみよう」 …… 「何も残らないのでは🤔」 「では🤔」
2020-07-03 08:12:42@nagise DIコンテナ要素は何も残らなくて、"引数や公開されたフィールドと、そこに割り当てられたインターフェース型によって、依存性をクラスの外に追い出せる"という要素だけが残る感じですかねー(いわゆる手動DIな状態)
2020-07-03 08:25:58@Nkzn メッセージパッシングで、メッセージの送信相手がすげ変わるようなのを考えていました。 型システムを伴わないケース含めて考えるとインターフェースと言ってるのがやり取りされるメッセージの定めと、送り先なのかなあとか
2020-07-03 08:31:13