模板方法模式

简介: 模板方法模式

template method模式



场景:

(1)我们有多种优惠策略

(2)不同的优惠策略在计算的价格的时候,有一些通用的基础逻辑

(3)每种优惠策略还有一些是自己特殊的价格计算的逻辑


代码如下:

public abstract  class AbstractClass {
    public void templateMethod() {
        System.out.println("处理优惠打折相关的基础通用逻辑");
        // 但是对于优惠打折具体的处理逻辑,交给不同的折扣类型子类自己去实现
    }
    public abstract void method1();
    public abstract void method2();
    public abstract void method3();
}
public class ConcreteClass extends AbstractClass {
    @Override
    public void method1() {
        System.out.println("实现优惠打折的部分逻辑");
    }
    @Override
    public void method2() {
        System.out.println("实现优惠打折的部分逻辑");
    }
    @Override
    public void method3() {
        System.out.println("实现优惠打折的部分逻辑");
    }
}


image.png

image.png


这个模式一定要多用用,尤其是对于有多种不同实现的一些场景,比如说,不同的折扣类型,不同的优惠券类型,不同的商品类型,那肯定涉及到不同的处理逻辑。但是可以将他们共同的基础逻辑抽取到父类中,然后将要子类实现的逻辑留空,交给子类去实现。


这种场景应该是很常见的, 我们从这个阶段开始,后面每个阶段,只要遇到类似场景,就会去使用这种设计模式


应该是最高频使用的设计模式,高频到了,我们都不用再这里举个什么例子了,因为在任何一个系统中,一定会出现说,多个类中都有相同的代码,此时就可以使用模板方法设计模式,将多个类中通用的逻辑抽取到一个父类中去




相关文章
|
2月前
|
算法
模板方法模式
模板方法模式
13 1
|
3月前
|
设计模式 算法 Java
Java设计模式——模板方法模式
Java设计模式——模板方法模式
|
设计模式 算法 Java
设计模式-行为型模式:模板方法模式
设计模式-行为型模式:模板方法模式
|
算法 前端开发
关于模板方法模式我所知道的
关于模板方法模式我所知道的
75 0
|
算法 Java 程序员
行为型模式-模板方法模式
行为型模式-模板方法模式
85 0
|
设计模式
我学会了,模板方法模式
模板方法模式属于行为型模式,这个类型的设计模式总结出了 类、对象之间的经典交互方式,将类、对象的行为和使用解耦了,花式的去使用对象的行为来完成特定场景下的功能。
66 0
我学会了,模板方法模式
|
SQL 设计模式 Java
|
设计模式 算法 Java
Java设计模式 ->模板方法模式
Java设计模式 ->模板方法模式
86 0
|
设计模式 算法 Java
Java设计模式-模板方法模式
Java设计模式-模板方法模式
149 0
Java设计模式-模板方法模式
|
存储 设计模式 算法