Yusuke Ando
@yando
@moriyoshit C#のジェネリクスを昨日勉強したんですが、あれって基底クラスをメンバに持つとかじゃだめなんですかねぇ
2014-06-30 09:43:24
Moriyoshi Koizumi
@moriyoshit
@yando どの文脈で使うかによりますが、基底クラスの構造が特定の問題領域のものに縛られるために汎用性を失うということはないでしょうか
2014-06-30 09:49:49
Moriyoshi Koizumi
@moriyoshit
逆にいえばgenerics使わなくても解決できる問題はけっこうある、それでも使いたい理由は問題意識が別のところにあるからかな
2014-06-30 09:52:13
Kazuho Oku
@kazuho
@moriyoshit @yando Interfaceを使って「名前で」明示する場合、あらかじめ合意が存在するもののみが連携可能となります。一方でGenericsのようなケースでは、型が適合していれば合意がなくとも使用可能になります。後者の柔軟性の高さが望まれることがあると
2014-06-30 09:57:55
Kazuho Oku
@kazuho
nominal typingかstructural typingかってのはsubclass化に限らず、generics vs. interfaceでも同様なんだよねという
2014-06-30 09:59:03
Yusuke Ando
@yando
@kazuho @moriyoshit 継承関係などで縛らなくても注入できる可能性を作るってことなんですね。型が適合していれば使えるっていう、やっぱりそういうことなんですね。
2014-06-30 10:00:04
Yusuke Ando
@yando
10年以上、プログラミングを仕事にしていても議論のポイントが「型」になるあたり、「型」はディープな話題なんだなあ。知らないこともまだまだあるし。
2014-06-30 10:03:00
Moriyoshi Koizumi
@moriyoshit
genericsが入るとコンパイルが遅くなる、っていうのはどうなんですかね。まだあんまり信じていない
2014-06-30 10:05:55