DI に DI コンテナは不要か?
概要
DI コンテナの話題でお気持ちの表明が盛り上がってる気配を感じるが、どこで話をしているのかよく分からなかったので、誰がひとまず Togetter あたりにまとめて欲しい。
2020-07-03 09:28:59とある日の深夜
Vue本体はComposition APIのおかげでTypeScript使うの特に苦はないけど、Vuexのせいで全て台無し
2020-07-02 10:04:50先取りVue 3.x !! Composition API を試してみる qiita.com/ryo2132/items/… #Qiita
2020-07-02 22:16:56DIってDIするしか解決策がない もしくは、DIしないとやってられない状況だから使ってるだけで DIがないとアプリケーションが作れない つまり必要条件?ではないよね
2020-07-02 22:19:50elmでDIが必要無いのは、たぶん高階関数があるからではなく 副作用が完全に分離しているから かつ アクターモデル(オブザーバパターン?)になって、手続きが離散的になっているからだと思うんだよね あとは強い制約でHTTP叩く時はHTTPモジュール使うしか無い つまり動作が保証されてるから
2020-07-02 22:33:50@ababupdownba ソースコード上で A → B という依存関係があったときに、これをひっくり返して B → A という依存関係にすることを Inversion of Control または Dependency Injection と呼びます。依存関係をうまく組み替えてよい性質を持つ依存関係にするために使います。
2020-07-02 22:35:18elmの強みはやっぱり制約の強さと、ランタイムの頑強さだと思うんだよね 制約が緩い言語は自由がある分 自分たちで細かい綻びをフォローしないといけない だからDIとか、組み込まれていない自分たちのパターンで保証しなければならない
2020-07-02 22:35:36@ababupdownba いろいろありますが、よくあるやつだと「ドメイン層がインフラ層に依存しない」とかですね。これを満たすことで、短期的なメリットとしてドメイン層のテストがしやすくなりますし、長期的にはインフラの変更がやりやすくなります。
2020-07-02 22:45:41@nojima なるほど 腹落ちしました twitter.com/ababupdownba/s… ちなみにこの仮説ってどう思いますか?
2020-07-02 22:52:52@ababupdownba うーん Elmの経験が足りなさすぎて何とも言えないのですが、静的型と副作用の分離は何かしら影響を与えてそうですね。 DIってある程度コードが「大規模かつ複雑」じゃないと役に立たないんですが、JavaScriptよりもElmのほうがそういう状況に陥りにくいんじゃないかと思います。
2020-07-02 23:02:14