模版模式:模版模式是比较容易理解的设计模式之一,其实就是做一个模版,然后具体每个人在根据模版进行编写。
日常生活中,英语考试,作文有各种各样的模版,我们照搬模版,填充内容就可以了。
考试的时候,每个人试卷都一样,但是答题不一样。
案例
模版类
public abstract class Paper { public void question1() { System.out.println("1+1=?"); } public abstract void answer1(); }
具体学生a的试卷
public class StudentA extends Paper{ @Override public void answer1() { System.out.println("2"); } }
具体学生b的试卷
public class StudentB extends Paper{ @Override public void answer1() { System.out.println("3"); } }
优缺点
优点:
封装不变部分,扩展可变部分 提取公共部分代码,便于维护 行为由父类控制,子类实现
缺点:
每一个不同的实现都需要一个子类实现,导致类的个数增加,使得系统更加庞大