模板设计模式--模板方法

       模板设计方法包含了实际的”模板方法“,模板方法定义了一个算法的步骤,并允许为子类为一个或者多个步骤提供具体实现。

       模板方法模式在一个方法中定义了抑恶个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的基础上重新定义算法的某些步骤。模板设计模式中由超类主导一切,拥有算法并且保护算法,使得代码复用最大化。并且容易修改,弹性高,有子类实现其的完整性。所以说模板设计模式实际应用场景。

       下面是模板模式超类的定义:

//模板设计模式代码结构
abstract class TemplateAbatractClass(){
    //模板方法,定义算法
    //被final声明以免子类改变算法的顺序
    public final templateMethod(){
        //按照定义提供算法,执行程序,可以采用一些流程控制
    }
    //具体操作延迟到子类是实现
    abstract void primitveOperation1();
    abstract void primitveOperation2();
    //具体操作且共用的方法定义在超类中
    //可以被模板方法或子类直接使用
    final void concreterOperation(){
        //实现
    }
    //可包含钩子方法
    //对于钩子方法,子类可以视情况决定要不要覆盖他们
    void hook(){
        //钩子方法
    }
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值