模板方法模式--学习理解

    模板方法模式:定义一个操作中算法的骨架(即模板方法),而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定步骤。


    例如:应用程序上下文运行主要包括
    初始化init,刷新refresh,关闭close,而不同的类型的上下文的init,refresh,close的具体实现可能会有所不同,也可能相同。但是这三个步骤的顺序是一定不会改变的。

    因此既可以定义一个抽象类,在抽象类中声明init,refresh,close并提供初始实现,可以是空实现。然后在定义一个run方法,run方法内部来调用这三个方法,完成工作。而这个run方法就是模板方法,它
定义了上下文运行的算法骨架。

    当我们需要对三个过程的某些过程进行特殊化处理,就只需要创建一个上下文类来继承抽象类,并定制化重写里面的三个方法即可。

作用:
    1.当我们需要修改算法骨架时间,例如增加一个过程,就只需要修改抽象类,达到一处修改,处处生效的效果,利于维护;
    2.子类可以选择性实现父类方法,以达到代码复用,提高开发效率


使用场景:
    当要完成在某个过程,该过程要执行一系列步骤 ,这一系列的步骤基本相同,但其个别步骤在实现时 可能不同,通常考虑用模板方法模式来处理
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值