2009-07-20 55 views
1

读了关于设计模式,并发现有23个(?)已定义的一些奇模式。我见过几个(即建造和装饰)有些重叠,将建议要么设计模式正交

一个。我不完全理解给定的模式,并在它们之间

B上的差异。一些少数模式的设计特点与他人

重叠,不应该设计模式的整个哲学强制执行模式“正交性”的想法,在一组已知模式的?

回答

3

不是真的,我不认为任何设计图案完全重叠另一个。他们之间总是有差异来解释他们没有合并的事实。

维基说:

alt text

在面向对象的编程中, 装饰图案是一种设计模式 ,其允许新的/附加的行为 被添加到现有的类 动态。

alt text

Builder模式是一种软件 设计模式。其目的是为了使 对象的构造的 对象的抽象步骤 不同 实现这些步骤可以构造 对象的不同表示。

即使它有一些相似的概念,它也不完全相同。

0

尽管由四人组(GO4)定义了23,但其字面上的设计模式数量是无限的。你可以滚你自己,并调用它珍妮,如果你想......如果人们接受它,然后它实际上是一个设计模式。根据技术组合的不同,您可以一次使用n个模式。

这里是一个很好的来源,以.NET世界的范围内学习模式(这是$ 99,但非常宝贵):

http://www.dofactory.com/Default.aspx

至于重叠...不是真的...一个很好的例子将是MVC(模型视图控制器)。实际上它有很多种方式实现,比如CakePHP,ASP.NET MVC,Spring,Struts等。但它有一个近亲叫MVP(模型视图展示器),它们从来没有见过面;他们共享许多方面(模型视图部分),但有明显的差异。

在任何给定的开发项目中,您都可以使用数十种设计模式。例如。存储库模式,MVC,装饰器等等。