DIContainerの有用性を説明するにあたって最も難しいのは、オブジェクトライフサイクルを自動管理することの意義や意味をどうやって伝えるか?ってところだけど、t_wadaはなんて言ってるかな?まだ、そこまでは聞いてないから楽しみ!
2021-05-10 15:25:08意識しなくてよくなったものとしては、Flyweightパターンなんかもそう。元々GoFのパターンに含まれていることがちょっと奇妙なレベルの抽象度であったし。
2021-05-10 16:42:00必要なのは設計の再利用であり、関連するパターンとの関連を理解することで自分の設計に関する抜け漏れを見つけること。つまり、目の前にある設計の妥当性を検証できることです。
2021-05-10 16:49:14DIコンテナの実装について問われ「DIコンテナって誤解を恐れずにいうならmapとかdictとかhashみたいなやつです」などと言い出すt_wada。誤解恐れな過ぎてヤバい。直前の話とつながってなさすぎる。
2021-05-10 17:53:27@kis 直前の話からの繋ぎでいうなら、Factoryの集合がDIコンテナですって言った方が良かったように思うんだよね。mapだのdictだのって言い出すのはちょっと唐突だと感じた。
2021-05-10 18:57:29@yoshiori @kis シングルトンの話も奇妙だなって思ったんよな。DIコンテナ内でのシングルトンはどのDIコンテナでもやってることで、DIコンテナが管理対象オブジェクトのインスタンスをキャッシュするなら、それはおおむねシングルトンだよね。
2021-05-10 19:11:19@yoshiori @kis つまりさ、シングルトンパターンはある種の実装方式が妥当でなくなっただけで死んでない。なのにもう死んだとか言い出すのは、分かってない人間を混乱させるだけだと思うんよね。
2021-05-10 19:21:11デザインパターンは実装イディオム集ではなく、様々な環境で繰り返し現れるものであるというスタンスを取るなら、特定の実装方式が不要になったくらいのことで当該パターンは死んだと言い出すのはおかしいと僕は考えます。
2021-05-10 19:23:52@ryushi 言語が発達して言語仕様に組み込まれたら、特定の実装はされなくなるけど生きているので、言語ランタイムに溶け込んだといえるので、これはまさにデザインパターン補完計画と(ry
2021-05-10 19:37:01@shibu_jp Iteratorはそういうものとして説明されていましたね。僕の認識ではFlyweightこそが言語ランタイムや標準ライブラリに取り込まれて誰も意識しなくなったパターンの筆頭だと考えています。
2021-05-10 19:40:08僕としては、GoFのパターンには単なるイディオムとしか理解できないようなものがそれなりに含まれているので、デザインパターンは実装イディオム集でもあると考えています。なので、デザインパターンは設計集であって、イディオム集ではないって言われてると、認識に相違がありますねってことになる。
2021-05-10 19:54:19