摘要: 序言 昨天学习了抽象工厂模式,所谓的抽象工厂模式,是为了应对产品线升级和隔离平台差异使用的设计模式。具体请参照博主上一篇博客。 今天要学习的是模板方法模式,可以说,这个模式太简单了,非常简单,你只需瞥一眼就能知道它的真谛,它的精髓。一言以蔽之。 正文 1. 定义定义一个操作中的算法的框架,而将一些步骤延迟到子类,使得子类可以不改变现有算法的结构即可重定义该算法的某些特定步骤。 用通俗的话来讲,举个例子,诸葛亮在指挥一场战役的时候,注意,是战役,战役是有很多场小战斗组成的。亮哥在谋划一场战役的时候,肯定是说:马谡,你守第一关;魏延,你守第二关;关羽,你守第三关;赵子龙,你守第四关。我们把马谡.. 阅读全文
posted @ 2012-10-30 23:37 邵贤军 阅读(1250) 评论(1) 推荐(1) 编辑
摘要: 1. 現実场景 在很多电影电视剧里,武功最高的往往是太监,所谓“欲练此功,必先自宫”,太监的武功为什么会这么高?我想应该是闲的。如果说面向对象的世界里有父子的话,那么太监这个类应该就是无法生子的类。他们是无法被继承的,不过,他们是可以继承别人的。 2. 技術問題 要实现一个无法被继承的类,Java为我们提供了一个关键字final,但是C++里没有,那作为C++程序员如何写出一个无法被继承的类呢?构造函数和析构函数。 为什么C++的构造函数和析构函数能够实现这点呢?因为C++的类继承里有一个规则,就是子类在实例化的时候,必须先调用父类的构造函数。对象销毁的时候,也必须调用父类的析构函数。... 阅读全文
posted @ 2012-10-30 21:52 邵贤军 阅读(1289) 评论(6) 推荐(0) 编辑