外观模式(Fascade)是平时最为常见的设计模设计之一, 主要担任服务员的功能。
外观模式(Facade),为子系统中的一组接口提供一个一致的界面,定义一个高层接口,这个接口使得这一子系统更加容易使用。
package FascadePattern2;
public class Fascade {
System1 s1 = new System1();
System2 s2 = new System2();
ISystem isystem;
public Fascade(ISystem isystem) {
this.isystem = isystem;
}
public void method(){
s1.method1();
s2.method2();
}
public void doSystem(){
isystem.systemMethod();
}
}
package FascadePattern2;
public interface ISystem {
public void systemMethod();
}
package FascadePattern2;
public class System1 implements ISystem{
public System1() {
}
public void method1(){
System.out.println("this is method1");
}
@Override
public void systemMethod() {
System.out.println("this is method1");
}
}
package FascadePattern2;
public class System2 implements ISystem{
public System2() {
}
public void method2(){
System.out.println("this is system 2");
}
@Override
public void systemMethod() {
System.out.println("this is system 2");
}
}
package FascadePattern2;
import StrategyPattern.Method1;
public class TestMain {
public TestMain() {
}
public static void main(String[] args) {
System2 s1 = new System2();
Fascade fa = new Fascade(s1);
fa.doSystem();
}
}