`
suhongliang5332
  • 浏览: 22533 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

模板模式(Template Method)

 
阅读更多

1.模板模式是类的行为模式。模板模式是基于继承的代码复用的基本技术,模板方法模式的结构和用法也是面向对象设计的核心。

2.模板模式的角色

   一)抽象模板角色:

          1)定义了一个或多个抽象操作,以便让子类实现。这些抽象操作叫做基本操作,他们是一个顶级逻辑的

               组成步骤。

          2)定义并实现一个模板方法。这个模板方法一般是一个具体的方法,它给出了顶级逻辑的骨架,而逻辑

               的组成步骤在相应的抽象操作中,推迟到子类中实现。顶级逻辑也有可能调用一些具体的方法。

   二)具体模板角色

          1)实现父类所定义的一个或者多个抽象方法,它们是一个顶级逻辑的组成步骤。

          2)每一个抽象模板角色都可以有任意多个具体模板角色与之对应,而每一个具体模板角色都可以给出这

               些抽象方法(也就是顶级逻辑的组成步骤)的不同实现,从而使得顶级逻辑的实现各不相同。

3.设计理念:尽量减少必须由子类置换掉的基本方法的数目。

4.需要注意的地方

          1)默认的钩子方法:由抽象类提供声明,并提供默认的实现,可以有子类置换掉,以扩展父类。主要

                就不必像接口那样,必须实现所有接口,只需要实现必要接口,和修改特殊方法就可以了

          2)命名规则:钩子方法都必须是用do开始的

          3)建立取值方法(钩子方法,只返回值),把状态声明推迟到子类实现。

          4)同时请参考重构原则博客

分享到:
评论
2 楼 suhongliang5332 2013-02-07  
   
1 楼 suhongliang5332 2013-02-07  
   

相关推荐

Global site tag (gtag.js) - Google Analytics