面向对象编程中有哪些数学对偶?

Tuo*_*nen 15 oop design-patterns category-theory

如果你最近看过Channel9的Going Deep节目,那么一个经常提到的话题就是编程中的数学二重性.TomasP有一篇关于面向对象编程的二元性的博客文章.

自从Microsoft Research发现观察者设计模式实际上是迭代器模式的数学对偶以来.从那以后,他们以各种方式使用了二元概念.

我的问题是:

编程中有哪些数学对偶?

面向对象编程是一个良好的开端.主要的GoF设计模式是:装饰器,状态,迭代器,外观,策略,代理,工厂方法,适配器,观察者,模板方法,复合,单例,抽象工厂和命令.是一个很好的对象 - 海报.

pdb*_*ett 1

不确定这是否完全是您想要的,因为它更多的是 FP 而不是 OO,但是当然有Curry-Howard 对应关系(又名 Curry-Howard 同构),它将程序与证明“等同”,类型与公式“等同”。