经典的“设计模式:可重复使用的面向对象软件的元素”实际上向我们介绍了设计模式的概念。
然而,这些天我发现了一本书,如Martin Fowler的“企业应用程序架构模式”(POEA),在我的日常工作中更有用。
在与其他开发人员的讨论中,许多人都认为,像.NET这样的框架正在慢慢开始提供GOF书中的许多模式,那么为什么要重新发明轮子呢?
似乎很多开发人员认为GOF书是唯一值得参考设计模式的书。所以他们的逻辑是因为框架(.NET等)为我们提供了许多GOF模式,模式已经过去了,并且不再那么重要了。
令人惊讶的是(至少对我来说)当我提到POEA中描述的模式时,我经常会遇到空白的目光。
POEA证明模式不仅仅是Interators,Singletons,Commands等。我还会说GOF中的模式实际上只是模式的一个独特“类别”,适用于不同(非重叠)的设计级别,而不是那些在POEA。那么,您的开发中应用了哪些其他“类别”模式?这些模式适用于什么级别的设计?他们通常在开发过程中的哪个阶段使用?是否有关于这些模式的书籍或参考文献?
答案 0 :(得分:7)
CategoryPatterns包含一个分类的模式列表。
前三个是GoF模式
然后存在问题特定问题
福勒的模式是企业应用模式。还有Enterprise Integration Patterns。 UI模式也存在..依此类推......
答案 1 :(得分:3)
我只是添加一个答案,因为我对此问题的回答有所不同。根据POSA(面向模式的软件架构系列丛书),有三个层次的模式:
答案 2 :(得分:0)
GoF模式也严格适用于代码。福勒的模式不仅适用于代码,还适用于数据和系统组件的排列和互连方式。
此外,如果已经使用编程语言烘焙了一些模式,则不需要这些模式。在某些语言中,它们只是成语。实际上,人们认为设计模式是编程语言不足的标志。