当以艺术眼光看程序,寻找程序后面的原理,做到化而不忘
全部博文(57)
分类: 架构设计与优化
2014-08-28 22:43:07
行为类模式很多,包括责任链模式,命令模式,解释器模式,迭代器模式,中介模式,备忘录模式,观察者模式,状态模式,策略模式,模板方法模式,访问者模式。多的足以让人晕。设计模式总体大概可分为三类:结构类械,创建类械,行为类模式。这三个分类就将一个软件实体(可能是个类,可能是个函数,也可能是个对象,这里用实体来代替)的生命周期全部概括了。结构类模式表达或反映了静态或动态结构,创建类模式表达或反映了如何创建实体,行为了模式表达或反映了实体的行为方式。
实体使用设计模式,是实体本身的特性(静态特性,动态特性,结构特性)决定了使用何类设计模式,换句话说,对实体的分析是使用设计模式的前提,如果实体本身认识不清,那么对设计模式的理解只能是浮于表面。
行为类模式是对实体行为的模拟,一般来说,一个实体其行为总是会呈现一定的行为倾向性,这个倾向性就是行为类的具体模式,比如,写代码实现JTAG协议,这个协议是通过状态机实现的,它的行为倾向性就是状态,所以使用状态模式比较合适。如何实现一个文件系统,通知适应于各个不同的物理介质,这显然就是其接口多样性了,使用策略模式就比较合适。
所以,在使用具体模式前,先分析实体的行为倾向性,然后再有的放矢地使用设计模式,这样才用得自然贴切。因为实体的行为倾向性一定程度上是决定了设计模式的使用范围。