Chinaunix首页 | 论坛 | 博客
  • 博客访问: 399363
  • 博文数量: 57
  • 博客积分: 193
  • 博客等级: 入伍新兵
  • 技术积分: 1192
  • 用 户 组: 普通用户
  • 注册时间: 2012-12-13 14:37
个人简介

当以艺术眼光看程序,寻找程序后面的原理,做到化而不忘

文章分类

全部博文(57)

文章存档

2017年(5)

2015年(7)

2014年(27)

2013年(18)

我的朋友

分类: 架构设计与优化

2014-08-28 22:43:07

行为类模式很多,包括责任链模式,命令模式,解释器模式,迭代器模式,中介模式,备忘录模式,观察者模式,状态模式,策略模式,模板方法模式,访问者模式。多的足以让人晕。设计模式总体大概可分为三类:结构类械,创建类械,行为类模式。这三个分类就将一个软件实体(可能是个类,可能是个函数,也可能是个对象,这里用实体来代替)的生命周期全部概括了。结构类模式表达或反映了静态或动态结构,创建类模式表达或反映了如何创建实体,行为了模式表达或反映了实体的行为方式。

实体使用设计模式,是实体本身的特性(静态特性,动态特性,结构特性)决定了使用何类设计模式,换句话说,对实体的分析是使用设计模式的前提,如果实体本身认识不清,那么对设计模式的理解只能是浮于表面。

行为类模式是对实体行为的模拟,一般来说,一个实体其行为总是会呈现一定的行为倾向性,这个倾向性就是行为类的具体模式,比如,写代码实现JTAG协议,这个协议是通过状态机实现的,它的行为倾向性就是状态,所以使用状态模式比较合适。如何实现一个文件系统,通知适应于各个不同的物理介质,这显然就是其接口多样性了,使用策略模式就比较合适。

所以,在使用具体模式前,先分析实体的行为倾向性,然后再有的放矢地使用设计模式,这样才用得自然贴切。因为实体的行为倾向性一定程度上是决定了设计模式的使用范围。

阅读(1839) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~