摘要: 概要Template Method模式,这里的Template跟C++或java的模板是两回事,只是表达含义的模式名而已。从名字来理解,Template Method模式就是一种把处理模板化的模式。详细来说,Template Method模式会把一些比较稳定的算法封装到抽象层的基类方法中,在Template Method中通过多态去调用一些子类的具体实现。目的在基类中定义算法框架的方法,通过该方法去调用子类中封装的算法各个步骤的具体实现。实例设计一个绘图程序,会根据实际情况使用多个第三方库绘制直线的方法,在我们的程序中要实现矩形绘制的方法。分析一下这个绘图程序的需求,首先会有多个库提供绘制直线 阅读全文
posted @ 2012-05-24 16:38 MXi4oyu 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 概要系统中会包含很多行为,有些行为总是存在并需要被执行,而有些行为在某些场合或某种设置下就不希望被执行,通常很多人会通过一些条件对系统行为进行限制来达到目的,但是这样会给本来很简单纯粹的处理增加额外的逻辑,而通过NULL Object模式会提供一个具有代理式的空白行为的对象来解决问题。目的通过NULL Object模式提供一个具有代理式的空白行为的对象,从而隐藏一些判断逻辑。实例看这样一个例子,系统中有类Action,一些具体行为都从类Action继承来扩展,类Manager会使用Action类型的对象来处理相应的动作。类图和代码如下:class Action { public: v... 阅读全文
posted @ 2012-05-24 13:38 MXi4oyu 阅读(212) 评论(0) 推荐(0) 编辑