外观模式定义:为子系统中的一组接口提供一个一致的界面,使得子系统更加容易使用。
当客户端不需要知道(子)系统内部复杂联系时,可以使用外观模式。
以下代码演示外观模式简单的实际运用:
定义一个接口:
package com.ldl.cn.FacadeModel;
public interface People {
void say();
}
分别定义People接口的实现类USAPeople、JAPeople:
package com.ldl.cn.FacadeModel;
public class USAPeople implements People{
@Override
public void say() {
System.out.println("美国人说中国很伟大!");
}
}
package com.ldl.cn.FacadeModel;
public class JAPeople implements People{
@Override
public void say() {
System.out.println("日本人说中国很伟大!");
}
}
定义外观类:
package com.ldl.cn.FacadeModel;
public class Facade {
private USAPeople usaPeople;
private JAPeople jaPeople;
public Facade() {
super();
usaPeople = new USAPeople();
jaPeople = new JAPeople();
}
public void usaPeopleSay(){
usaPeople.say();
}
public void jaPeopleSay(){
jaPeople.say();
}
}
编写测试类:
package com.ldl.cn.FacadeModel;
public class TestFacadePattern {
public static void main(String[] args) {
Facade facade = new Facade();
facade.usaPeopleSay();
facade.jaPeopleSay();
}
}
运行结果:
美国人说中国很伟大!
日本人说中国很伟大!