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();
}
}