A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© panningwjr 中级黑马   /  2013-7-14 10:25  /  1642 人查看  /  1 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

模版方法模式(Template Method Pattern)
         定义:
         定义一个操作中的算法的框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤
基本方法:
         也叫做基本操作,是有子类实现的方法,并且在模版方法被调用
模版方法:
         可以有一个或几个,一般是一个具体方法,也就是一个框架,实现对基本方法的调度完成固定的逻辑
注意:一般模版方法都加上final关键之,不允许被修改
代码演示:

         抽象模版类:
               
具体模版类:
      
场景类:
   
模版方法优点:
1.      封装不变部分,扩展可变部分:及把不变部分的算法封装到父类实现,如上面的myLife()方法,可变部分就通过继承来继续扩展
2.      提取公共部分代码,便于维护
3.      行为由父类控制,子类实现

基本方法是由子类实现,因此子类可以通过扩展的方式增加相应的功能,符合开闭原则
最佳实践:
     相当于给我们提供了一个父类调用子类方法的路径,修改子类会影响父类的行为结果。

评分

参与人数 1技术分 +1 收起 理由
杨兴庭 + 1 赞一个!

查看全部评分

1 个回复

倒序浏览
杜天伟 来自手机 中级黑马 2013-7-14 11:44:56
沙发
模板方法设计模式,嘿嘿,刚好看到毕老师讲到这块
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马