设为首页 加入收藏

TOP

C++设计模式之模板方法模式(二)
2015-07-20 17:51:02 来源: 作者: 【 】 浏览:7
Tags:设计模式 模板 方法 模式
同的行为(异变部分),它鼓励我们恰当使用继承来实现代码复用。

(3) 可实现一种反向控制结构,通过子类覆盖父类的钩子方法来决定某一特定步骤是否需要执行。

(4) 在模板方法模式中可以通过子类来覆盖父类的基本方法,不同的子类可以提供基本方法的不同实现,更换和增加新的子类很方便,符合单一职责原则和开闭原则。

2.模板方法模式的主要缺点

(1)需要为每一个基本方法的不同实现提供一个子类,如果父类中可变的基本方法太多,将会导致类的个数增加,系统更加庞大,设计也更加抽象。

3.模板方法模式的具体应用

(1)在游戏角色中,存在魔鬼、天使、英雄等角色。这些角色都包含相同的建造过程(建造头、脚、外观等),而每一个游戏角色建造方法各不相同。

(2)需要将某些数据导出到TXT文本、数据库、XML中。存在相同的过程,获取数据,导出操作、查找已经导出的数据。

(3)数据结构中的排序算法:定义一个抽象排序类,具体子类如快速排序、选择排序、冒泡排序等实现基类中的排序算法。

(4)对数据库进行查询操作:定义一个基类,包含连接数据库、查询数据、关闭连接等方法。不同的表,查询操作是不一样的。可以定义具体的查询类,继承于基类,实现基类中查询接口,用于对不同的表进行查询操作。

(5)对于一些加密算法,包含许多按照某些顺序执行的操作。而具体不同的加密算法,某个操作执行结果不同。

(6)银行部门采用的利息算法:活期账户和定期账户各使用不同的计算方法。

(7)网上购物付款方式: 使用U顿则输入密码就可以付款。而使用短信验证支付,会弹出一个对话框,要求我们输入姓名、卡号、身份证号等信息。也就是说对于不同的支付方式,支付操作不同。

(8)同样是登陆某个系统,普通用户登陆和管理员登陆,登陆后的界面存在某些差别。有些功能是普通用户不具有的。

(9)在一些UI控件中,可以从基类派生一个新的控件,重写某些功能。例如:可以从Button类中继承一个子类,在子类中覆盖基类中的某些操作。
(10)生活中模板: 求职简历;DNA双螺旋结构;鸟叔江南Style风靡全球的时候,广场舞大妈一步步分解动作,模仿鸟叔的舞姿;制作手机电脑等产品,需要按照某个过程来执行一系列操作;景德镇陶瓷的制作等。


首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇变脸不变质的桥梁模式(Bridge Pat.. 下一篇HDU 1698 Just a Hook (线段树区..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·switch520最新的地址 (2025-12-24 19:19:41)
·微信聊天功能使用了 (2025-12-24 19:19:39)
·websocket和普通的so (2025-12-24 19:19:36)
·Python中文网 - 人生 (2025-12-24 18:49:47)
·【整整648集】这绝对 (2025-12-24 18:49:44)