DynamicProxy - C#でmixin(その3)

昨日までは悩める子羊だったのだが、やねうらおさんからアドバイスを頂いた。

良い使いどころはGUIがらみでしょうね。GUI絡みだと、いろんなcontrolに対して、同じ機能を付与したいという要求が発生しやすいので。

なるほどそうか。別にRubyで実装されているといって、Rubyでの使い道を気にする必要は無かったのだ。ましてや、自分の対象としているのはWindowsFormsアプリケーションではないか。
と、DIコンテナに実装する方向に立ち戻ってみたのだが、基本的な部分でmixinとAOPはやりたいことが被るのではないか、ということに今更気がついた。

  • AOP : 機能を持つコード片を編みこむ
  • mixin : 定義された型を別な型に混ぜこむ。

ん? mixinってAOPに包含されていないか?と思っていろいろ調べてみたのだが、やはりそうだ、ごろごろ出てくる。mixinはAOPでいうところのIntroductionか? いや、intertype declarationか。