我从未在需要使用设计模式的软件上工作过。根据保罗·格雷厄姆(Paul Graham)的Revenge of the Nerds文章,设计模式是缺乏抽象的迹象。
直接引用他的话,“例如,在OO世界中,你会听到很多关于‘模式’的内容。我想知道这些模式是否有时不是(c)情况下人类编译器正在工作的证据。当我在我的程序中看到模式时,我认为这是一个麻烦的迹象。程序的形状应该只反映它需要解决的问题。代码中的任何其他规律性都是一个迹象,至少对我来说,表明我使用的抽象不够强大--通常是我手动生成某个宏的扩展所需写入的。”
我只是想知道每个人是否认为设计模式被过度使用,并且是代码抽象不足的症状。
直接引用他的话,“例如,在OO世界中,你会听到很多关于‘模式’的内容。我想知道这些模式是否有时不是(c)情况下人类编译器正在工作的证据。当我在我的程序中看到模式时,我认为这是一个麻烦的迹象。程序的形状应该只反映它需要解决的问题。代码中的任何其他规律性都是一个迹象,至少对我来说,表明我使用的抽象不够强大--通常是我手动生成某个宏的扩展所需写入的。”
我只是想知道每个人是否认为设计模式被过度使用,并且是代码抽象不足的症状。