1.外观模式
也叫门面角色,客户端可以调用这个角色的方法,此角色知晓子系统的所有功能和责任,将客户端的请求代理给适当的子系统对象;Subsystem是子系统角色,可以同时拥有一个或多个子系统,每一个子系统都不是一个单独的类,而是一个类的集合,子系统并不知道门面的存在。客户端不需要知道系统内部的复杂联系,整个系统只提供一个“接待员”即可。
2.示例
//外观类
public class Facade
{
//被委托的对象
private FirstSubSystem firstSubSystem;
private SecondSubSystem secondSubSystem;
private ThirdSubSystem thirdSubSystem;
public Facade()
{
this.firstSubSystem = new FirstSubSystem();
this.secondSubSystem = new SecondSubSystem();
this.thirdSubSystem = new ThirdSubSystem();
}
public void firstMethod(){
this.firstSubSystem.doSomething();
}
public void secondMethod(){
this.secondSubSystem.doSomething();
}
public void thirdMethod(){
this.thirdSubSystem.doSomething();
}
}
public class FirstSubSystem
{
public void doSomething() {
System.out.println("第一个子系统方法。。。");
}
}
public class SecondSubSystem
{
public void doSomething() {
System.out.println("第二个子系统方法。。。");
}
}
public class ThirdSubSystem
{
public void doSomething() {
System.out.println("第三个子系统方法。。。");
}
}
public class FacadeTest
{
public static void main(String[] args)
{
Facade facade = new Facade();
facade.firstMethod();
facade.secondMethod();
facade.thirdMethod();
}
}