⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 client.java

📁 设计模式描述设计模式描述设计模式描述设计模式描述
💻 JAVA
字号:
/*
 * Created on 2005-5-11
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
package com.test.pattern.struct.facade;

/**
 * @author Administrator
 * 
 * 意图 为子系统中的一组接口提供一个一致的界面, Facade 模式定义了一个高层接口,这个接口使得 这一子系统更加容易使用。 适用性
 * 当你要为一个复杂子系统提供一个简单接口时。 子系统往往因为不断演化而变得越来越复杂。 大多数模式使用时都会产生更多更小的类。
 * 这使得子系统更具可重用性,也更容易对子系统进行定制, 但这也给那些不需要定制子系统的用户带来一些使用上的困难。 Facade
 * 可以提供一个简单的缺省视图,这一视图对 大多数用户来说已经足够,而那些需要更多的可定制性 的用户可以越过facade 层。
 * 客户程序与抽象类的实现部分之间存在着很大的依赖性。 引入facade 将这个子系统与客户以及其他的子系统分离, 可以提高子系统的独立性和可移植性。
 * 当你需要构建一个层次结构的子系统时,使用facade 模式定义子系统中每层的入口点。如果子系统之间是 相互依赖的,你可以让它们仅通过facade
 * 进行通讯, 从而简化了它们之间的依赖关系。
 *  
 */
class SubSystem_class1 {
	public void OperationX() {
		System.out.println("SubSystem_class1.OperationX called");
	}
}

class SubSystem_class2 {
	public void OperationY() {
		System.out.println("SubSystem_class2.OperationY called");
	}
}

class SubSystem_class3 {
	public void OperationZ() {
		System.out.println("SubSystem_class3.OperationZ called");
	}
}

class Facade {
	private SubSystem_class1 c1 = new SubSystem_class1();

	private SubSystem_class2 c2 = new SubSystem_class2();

	private SubSystem_class3 c3 = new SubSystem_class3();

	public void OperationWrapper() {
		System.out
				.println("The Facade OperationWrapper carries out complex decision-making");
		System.out
				.println("which in turn results in calls to the subsystem classes");
		c1.OperationX();
		if (1 == 1 /* some really complex decision */) {
			c2.OperationY();
		}
		// lots of complex code here . . .
		c3.OperationZ();
	}

}

/// <summary>
/// Summary description for Client.
/// </summary>

public class Client {
	public static void main(String[] args) {
		Facade facade = new Facade();
		System.out.println("Client calls the Facade OperationWrapper");
		facade.OperationWrapper();

	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -