[OOAD]设计模式之模版方法(Template Method)模式

       模板方法模式是类的行为模式。模板方法的用意是:将部分逻辑以具体方法以及具体构造子的形式实现,然后声明一些方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。

       模板方法中涉及到的角色:

一、 抽象模板角色

1.  定义了一个或多个抽象操作,以便让子类实现。这些抽象操作叫做基本操作,它们是一个顶级逻辑的组成步骤;

2.  定义并实现一个模板方法。

二、 具体模板角色

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

2.  每一个抽象模板角色都可以有任意多个具体模板角色与之对应。

“好莱坞原则”:

想要进军好莱坞,建立提交之后,所能做的就是等待,这些公司会说“不要给我们打电话,我们会打给你”,这个就是好莱坞原则。它的关键之处在于娱乐公司对这个事情的完全控制权。

“好莱坞原则”在模板方法模式中的体现是:子类可以替换掉父类的可变部分,但是子类却不可以改变模板方法所代表的顶级逻辑。

模板方法模式中的方法:

一、模板方法

一个模板方法是定义在抽象类中的,把基本操作方法组合在一起形成一个总算法或一个总行为的方法。

二、基本方法

       1. 抽象方法:一个抽象方法由抽象类声明,由具体子类实现

       2. 具体方法:一个具体方法由抽象类声明并实现,而子类并不实现或替换

       3. 钩子方法:一个钩子方法由抽象类声明并实现,而子类会加以扩展。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值