首页 > 其他 > 详细

模板方法模式

时间:2020-06-27 18:53:40      阅读:62      评论:0      收藏:0      [点我收藏+]

名称:

    模板方法模式(Template Method Pattern)

 

问题:

    The Template Method pattern provides a method that allows subclasses to override parts of the method without rewriting it. Define the skeleton of an algorithm in an operation, deferring some steps to subclasses. Template method lets subclasses redefine certain steps of an algorithm without changing the structure of the algorithm.    

 

解决方案:

    

1、 模式的参与者

    1、AbstractClass

    -定义抽象的原语操作,具体的子类将重新定义它们以实现一个算法的各步骤

    -实现一个模版方法,定义一个算法的骨架。该模版方法不仅调用原语操作,也调用定义在AbstractClass或其他对象中的操作。

    2、ConcreteClass

    -实现原语操作以完成算法中与特定子类相关步骤。

 

2.实现方式

abstract class AbstractClass
{
    public void TemplateMethod() 
    {
        SpecificMethod();
        abstractMethod1();          
         abstractMethod2();
    }  
    public void SpecificMethod() 
    {
        System.out.println(AbstractClass special method.");
    }   
    public abstract void abstractMethod1(); 
    public abstract void abstractMethod2();
}
class ConcreteClass extends AbstractClass
{
    public void abstractMethod1()
    {
        System.out.println("concrete method1");
    }   
    public void abstractMethod2()
    {
        System.out.println("concrete method 2");
    }
}

 

参考资料

《设计模式:可复用面向对象软件的基础》

模板方法模式

原文:https://www.cnblogs.com/diameter/p/13199343.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!