最近Channel9のGoingDeep番組を見た場合、非常に頻繁に言及されるトピックの1つは、プログラミングにおける数学的双対性です。TomasPには、オブジェクト指向プログラミングの二重性に関する優れたブログ投稿があります。
これは、Microsoft Researchが、オブザーバーデザインパターンが実際にはイテレーターパターンの数学的デュアルであることを発見してからです。それ以来、彼らはさまざまな方法で二重性の概念を使用してきました。
私の質問は:
プログラミングにはどのような数学的二重性がありますか?
オブジェクト指向プログラミングは良いスタートです。主なGoFデザインパターンは、デコレータ、ステート、イテレータ、ファサード、ストラテジー、プロキシ、ファクトリメソッド、アダプタ、オブザーバ、テンプレートメソッド、コンポジット、シングルトン、アブストラクトファクトリおよびコマンドです。これが良いオブジェクトグラフポスターです。