设计模式java——外观模式

外观模式(Facade):为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。

外观模式Demo:

/**
 * 2018年3月28日下午9:28:47
 */
package com.Designpattern;

/**
 * @author xinwenfeng
 *
 */
public class TestFacade {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Facade facade = new Facade();
		facade.UseA();
		System.out.println("=====================");
		facade.UseABC();
		System.out.println("=====================");
		facade.UseBC();
	}

}
class SystemAForFacade{
	public void FunA() {
		System.out.println("复杂的A系统。");
	}
}
class SystemBForFacade{
	public void FunB() {
		System.out.println("复杂的B系统。");
	}
}
class SystemCForFacade{
	public void FunC() {
		System.out.println("复杂的C系统。");
	}
}
class Facade{
	//对每个子系统都要很了解
	SystemAForFacade ASystem;
	SystemBForFacade BSystem;
	SystemCForFacade CSystem;
	public Facade() {
		ASystem = new SystemAForFacade();
		BSystem = new SystemBForFacade();
		CSystem = new SystemCForFacade();
	}
	//提供方法给外部调用,很方便的使用各种复杂子系统
	public void UseA() {
		System.out.println("使用A系统。");
		ASystem.FunA();
	}
	public void UseBC() {
		System.out.println("使用B系统和C系统。");
		BSystem.FunB();
		CSystem.FunC();
	}
	public void UseABC() {
		System.out.println("使用ABC系统。");
		ASystem.FunA();
		BSystem.FunB();
		CSystem.FunC();
	}
}

结果:


猜你喜欢

转载自blog.csdn.net/flylikebutterfly/article/details/79734676