外观模式:为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
主要有以下角色:
外观类(Facade):定义了一个高层接口,这个接口使得这一子系统更加容易使用。
子系统的集合:指模块或者子系统,处理Facade 对象指派的任务,他是功能的实际提供者
调用者(Client): 外观接口的调用者
示例:
外观类(Facade):
public interface EatFacade {
void eat();
}
public class EatFacadeImp implements EatFacade{
private ZF zf=new ZF();
private CC cc=new CC();
private CF cf=new CF();
@Override
public void eat() {
zf.zf();
cc.cc();
cf.cf();
}
}
子系统的集合:
public class CF {
public void cf(){
System.out.println("开始吃饭");
}
}
public class CC {
public void cc(){
System.out.println("开始炒菜");
}
}
public class ZF {
public void zf(){
System.out.println("开始煮饭");
}
}
调用者(Client):
public class Client {
public static void main(String[] args) {
EatFacade eatFacade=new EatFacadeImp();
eatFacade.eat();
}
}
结果: