阅读设计模式,并发现已定义了23个(?)奇怪的模式。我在一些(即构建器和装饰器)中看到了一些重叠,暗示要么
一个。我不完全理解给定的模式,以及它们之间的差异
湾一些模式的一些设计特征与其他模式重叠
设计模式的整体哲学难道不应该在已知模式集合中强化模式“正交性”的概念吗?
答案 0 :(得分:3)
不是真的,我认为任何设计模式都不会与另一个完全重叠。它们之间总有差异,可以解释它们没有合并的事实。
维基百科说:
在面向对象的编程中, 装饰图案是一种设计模式 允许新的/额外的行为 要添加到现有类 动态。
和
(来源:wikimedia.org)
Builder Pattern是一个软件 设计模式。目的是为了 抽象的建设步骤 对象让不同 这些步骤的实现可以 构建不同的表示形式 对象。
尽管它有一些相似的概念,但它并不完全相同。
答案 1 :(得分:0)
实际上有无限量的设计模式虽然由四人一组(GO4)定义。如果你愿意,你可以自己动手并称之为Janie ......如果人们采用它,那么它实际上就是一种设计模式。根据技术组合,您可以一次使用n个模式。
这是学习.NET世界环境中模式的一个很好的资源(99美元但非常宝贵):
http://www.dofactory.com/Default.aspx
至于重叠...不是真的...一个很好的例子是MVC(模型视图控制器)。实际上它是以几十种方式实现的,例如CakePHP,ASP.NET MVC,Spring,Struts等。但是它有一个近亲叫MVP(模型视图演示者),它们永远不会相遇;它们共享许多方面(模型视图部分)然而有明显的差异。
在任何给定的开发项目中,您都可以使用许多设计模式。例如。存储库模式,MVC,装饰器等等。