目的:让接口变得更加简单。将一个或多个类的复杂隐藏,只露出简单的外观。
定义:提供一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。
实现思路:
一个类包含多个接口的引用,通过方法把多个接口方法组合起来。
外观模式实现起来很简单,但是它的意义在于最少知识原则。
它等于在客户与具体实现代码之间架起了一个桥梁。
实现:
package facade;
import Adapter.Chick;
import Adapter.Duck;
import command.Light;
import command.LightOnCommand;
public class HomeFacade {
Duck duck;
Chick chick;
Light light;
public HomeFacade(Duck duck, Chick chick, Light light) {
this.duck = duck;
this.chick = chick;
this.light = light;
}
public void sendFood(){
LightOnCommand lightOnCommand=new LightOnCommand(light);
lightOnCommand.execute();
duck.gaga();
chick.guuguu();
lightOnCommand.undo();
}
}
网友评论