为什么有的人仇恨设计模式? - Allen Holub


为什么有人认为设计模式不好?如果模式已经存在,为什么重新发明轮子呢?当然有的模式可能因为语言本身的演进变得不太有意义,其实不尽然。lambda是一种命令模式,但是基于类的命令对象可以做很多lambda不能做的事情,例如复杂的undo撤销操作,当然,设计模式不是架构,但是它也是一种解决方案。
当然,设计模式的解决方案可能会复杂complex,但是如果简单解决方案不能很好工作,为什么不考虑替换坏的呢?
有的时候,人们强调自己实现,而不是去了解过去的解决方案,别人的解决方案会比我更聪明地解决我自己的当前工作问题吗?这些潜意识的自大来自哪里呢?