AModuleApi.java
package com.java.pattern.facade;
/**
 * A模块的接口
 * 
 */
public interface AModuleApi {
	// A模块对外的一个功能方法
	public void testA();
}
package com.java.pattern.facade;
public class AModuleImpl implements AModuleApi {
	public void testA() {
		System.out.println("现在在A模块里面操作testA方法");
	}
}
package com.java.pattern.facade;
/**
 * B模块的接口
 * 
 */
public interface BModuleApi {
	// B模块对外的一个功能方法
	public void testB();
}
package com.java.pattern.facade;
public class BModuleImpl implements BModuleApi {
	public void testB() {
		System.out.println("现在在B模块里面操作testB方法");
	}
}
package com.java.pattern.facade;
/**
 * 定义外观对象
 * 
 */
public class Facade {
	// 满足客户需要的功能
	public void test() {
		AModuleApi a = new AModuleImpl();
		a.testA();
		BModuleApi b = new BModuleImpl();
		b.testB();
	}
}
Client.java
package com.java.pattern.facade;
/**
 * 客户端
 */
public class Client {
	public static void main(String[] args) {
		// 使用Facade
		new Facade().test();
	}
}
原文:http://blog.csdn.net/yelangjueqi/article/details/52297065