java设计模式十(模版模式)

java设计模式—模版模式

一.概述

模版模式是指在一个抽象类中固定一个逻辑框架,逻辑框架中的每一步具体实现放在子类中。

二.应用场景

1.对数据库操作的步骤:1.连接数据库,2.打开数据库,3.关闭数据库。这三个步骤可以作为一个逻辑框架放在抽象类中,针对不同的数据库具体实现这三个步骤。
2.对文件操作步骤:1.打开文件,2.读写文件,3.关闭文件。这三个步骤也可放在一个抽象类中,然后针对不同类型的文件做出具体实现。

三.模式示例:

我们的一日三餐其实就可以当作一个模版,可以以此作为模型讲解模版模式,具体实现如下:
1.创建一日三餐的抽象类(即:模版)

public abstract class Meals {
    abstract void havaBreakfast();
    abstract void havaLunch();
    abstract void havaDinner();

    //模板
    public final void havaMeals(){   
        //早餐
        havaBreakfast();

        //午餐
        havaLunch();

        //晚餐
        havaDinner();
    }
}

2.创建中国人具体的三餐类

public class ChineseMeals extends Meals{

    @Override
    void havaBreakfast() {
        System.out.println("中国人早餐:豆浆,油条");
    }

    @Override
    void havaLunch() {
        System.out.println("中国人午餐:米饭,炒菜");
    }

    @Override
    void havaDinner() {
        System.out.println("中国人晚餐:牛肉面");
    }
}

3.创建美国人的具体三餐类。

public class AmericanMeals extends Meals{

    @Override
    void havaBreakfast() {
        System.out.println("美国人早餐:牛奶,面包");
    }

    @Override
    void havaLunch() {
        System.out.println("美国人午餐:肯德基");
    }

    @Override
    void havaDinner() {
        System.out.println("美国人晚餐:汉堡");
    }
}

4.模式调用。

public class Test {
    public static void main(String[] args) {
        Meals Chinese = new ChineseMeals();
        Chinese.havaMeals();

        Meals american = new AmericanMeals();
        american.havaMeals();
    }
}

猜你喜欢

转载自blog.csdn.net/xiaolicd/article/details/81357148
今日推荐