《JAVA与模式》26天系列—写在最后—设计模式分类总结

从目的来看:

-创建型模式(Creational):负责对象创建。

-结构型模式(Structural):处理类与对象间的组合。

-行为型模式(Behavioral):类与对象交互中的职责分配。

创建型模式

结构型模式

行为模式

1.抽象工厂模式AbstractFactory

1.适配器模式Adapter

1.职责链模式ChainofResponsibility

2.建造者模式Builder

2.桥接模式Bridge

2.命令模式Command

3.工厂方法模式FactoryMethod

3.组合模式Composite

3.解释器模式Interpreter

4.原型模式Prototype

4.装饰模式Decorator

4.迭代器模式Iterator

5.单例模式Singleton

5.外观模式Facade

5.中介者模式Mediator

6.享元模式Flyweight

6.备忘录模式Memento

7.代理模式Proxy

7.观察者模式Observer

8.状态模式State

9.策略模式Strategy

10.模板方法模式TemplateMethod

11.访问者模式Visitor

从范围来看:

-类模式处理类与子类的静态关系。

-对象模式处理对象间的动态关系。

设计模式在粒度和抽象层次上各不相同。由于存在众多的设计模式,所以我们可以用一种方式将它们组织起来。这里,我们根据两条准则对模式进行分类,如下表所示:

第一是目的准则,即模式是用来完成什么工作的。模式依据其目的可分为创建型( Creational)、结构型( Structural)、或行为型( Behavioral )三种。创建型模式与对象的创建有关;结构型模式处理类或对象的组合;行为型模式对类或对象怎样交互和怎样分配职责进行描述。

第二是范围准则,指定模式主要是用于类还是用于对象。类模式处理类和子类之间的关系,这些关系通过继承建立,是静态的,在编译时刻便确定下来了。对象模式处理对象间的关系,这些关系在运行时刻是可以变化的,更具动态性。从某种意义上来说,几乎所有模式都使用继承机制,所以“类模式”只指那些集中于处理类间关系的模式,而大部分模式都属
于对象模式的范畴。

创建型类模式将对象的部分创建工作延迟到子类,而创建型对象模式则将它延迟到另一个对象中。结构型类模式使用继承机制来组合类,而结构型对象模式则描述了对象的组装方式。行为型类模式使用继承描述算法和控制流,而行为型对象模式则描述一组对象怎样协作完成单个对象所无法完成的任务。

还有其他组织模式的方式。有些模式经常会被绑在一起使用,例如, Composite(组合模式)常和Iterator(迭代器模式)或Visitor(访问者模式)一起使用;有些模式是可替代的,例如, Prototype(原型模式)常用来替代Abstract Factory(抽象工厂模式);有些模式尽管使用意图不同,但产生的设计结果是很相似的,例如, Composite(组合模式)和Decorator(装饰模式)的结构图是相似的。

还有一种方式是根据模式的“相关模式”部分所描述的它们怎样互相引用来组织设计模式。下图给出了模式关系的图形说明。

显然,存在着许多组织设计模式的方法。从多角度去思考模式有助于对它们的功能、差
异和应用场合的更深入理解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值