22.模板方法模式【Template Methed】
【释义】模板方法模式:模板方法模式准备一个抽象类,将部分逻辑以具体方法以及具体构造子的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。先制定一个顶级逻辑框架,而将逻辑的细节留给具体的子类去实现。
利用抽象类特性,抽象方法必须被实现,抽象类可以有已经实现的方法也就是默认方法,所有类似模式均可继承此模板,可以实现部分灵活功能,但是整体逻辑不能被修改。
【个人理解】类似装饰器模式,只不过他是类级别的的通过抽象方法实现,而装饰器是方法级别的
角色:
Abstractclass:模板抽象角色
Concreteclass:具体模板角色
案例:
abstract templateclass{
public void template(){
System.out.print(****************);
Primitive();
System.put.print(***************);
}
abstract void primitive(){};
}
23.访问者模式【Visitor】
【释义】访问者模式:访问者模式的目的是封装一些施加于某种数据结构元素之上的操