`
xieyaxiong
  • 浏览: 41102 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

design pattern——外观模式

 
阅读更多

针对问题:在软件开发系统中,客户程序经常会与复杂系统的内部子系统之间产生耦合,而导致客户程序随着子系统的变化而变化。 那么如何简化客户程序与子系统之间的交互接口?如何将复杂系统的内部子系统与客户程序之间的依赖解耦?

 

     为子系统中的一组接口提供一个一致的界面, Facade 模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。——Gang of Four

 

 

 

 

外观模式结构图:

 


 

 

 

 

 

 

外观模式实现代码:

 

/**
 * 实例A
 * @author bruce
 *
 */
public class A {

	public void methodA(){
		System.out.println("A doing something");
	}
}




/**
 * 实例B
 * @author bruce
 *
 */
public class B {
	
	public void methodB(){
		System.out.println("B doing something");
	}

}



/**
 * 实例C
 * @author bruce
 *
 */
public class C {
	
	public void methodC(){
		System.out.println("C doing something");
	}

}



/**
 * 外观实例
 * @author bruce
 *
 */
public class Facade {
	
	private A a;
	private B b;
	private C c;
	
	public Facade(A a,B b,C c){
		this.a=a;
		this.b=b;
		this.c=c;
	}
	
	/**
	 * 外观接口
	 */
	public void action(){
		a.methodA();
		b.methodB();
		c.methodC();
                //.......
	}

}





/**
 * 测试
 * @author bruce
 *
 */
public class Client {
	
	public static void main(String[] args) {
		A a=new A();
		B b=new B();
		C c=new C();
		
		Facade facade=new Facade(a,b,c);
		
		facade.action();
		
		/**
		 * output:
		   A doing something
		   B doing something
		   C doing something
		 */
	}

}


 

 

 

  • 大小: 17.4 KB
分享到:
评论

相关推荐

    design-pattern-java.pdf

    扩展系统功能——装饰模式(三) 扩展系统功能——装饰模式(四) 外观模式-Facade Pattern 深入浅出外观模式(一) 深入浅出外观模式(二) 深入浅出外观模式(三) 享元模式-Flyweight Pattern 实现对象的复用——...

    GoF的经典著作设计模式(Design Pattern)

    8. **外观模式**:为子系统提供一个一致的接口,使得子系统更容易使用。它简化了客户端与复杂系统间的交互。 9. **桥接模式**:将抽象部分与实现部分分离,使它们可以独立变化。这种模式可以减少类的数量,降低系统...

    模式举例代码——设计模式和举例代码

    - 外观模式:为子系统提供一个统一的接口,使得子系统更容易使用。 - 代理模式:为其他对象提供一种代理以控制对这个对象的访问。 3. **行为型模式**: - 责任链模式:将请求沿着处理者链传递,直到某个处理者...

    Design Pattern FrameworkTM

    为了帮助 .NET 开发者更好地理解和应用这些设计模式,《Head First 设计模式》为 .NET 2.0 特别推出了一个配套文档——《设计模式框架》(Design Pattern FrameworkTM),该文档涵盖了原书中介绍的所有设计模式,并...

    设计模式design-pattern-java.pdf

    外观模式为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 #### 3.6 享元模式 享元模式运用共享技术有效地支持大量细粒度的对象。它可以大大减少需要...

    HeadFirst Design Pattern

    2. 结构型模式:这类模式主要关注如何将类或对象组合成更大的结构,如适配器模式(Adapter)、桥接模式(Bridge)、装饰模式(Decorator)、外观模式(Facade)、享元模式(Flyweight)、组合模式(Composite)和...

    GOF之23种设计模式的C#实现:DesignPattern.zip

    通过阅读GOF23种设计模式.docx文档和探索DesignPattern项目中的代码,你可以深入理解每种模式的用途、优点以及如何在C#和.NET Core环境中实现它们。对于想要提升编程技能和代码质量的开发者来说,这是一个宝贵的资源...

    design-pattern(设计模式,包括创建型、结构型、行为型三大类共23种常见的设计模式和J2EE常见设计模式等).zip

    - 外观模式:为子系统提供一个一致的接口,简化客户端与其交互。 - 代理模式:为其他对象提供一种代理以控制对这个对象的访问。 -享元模式:使用共享对象可以有效地支持大量细粒度的对象。 3. 行为型设计模式: ...

    Design Pattern

    - 外观模式(Facade):为子系统提供一个统一的接口,简化其使用。 - 代理模式(Proxy):为其他对象提供一种代理以控制对这个对象的访问。 - 装饰模式(Decorator):动态地给一个对象添加一些额外的职责,增加...

    GOF-设计模式-Design Patterns-英文原版-高清-有目录-有页码

    **设计模式**(Design Patterns)是软件工程中的一个重要概念,它是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。本章节将从多个角度对设计模式进行深入探讨。 #### 二、设计模式的基本定义 ...

    设计模式 Head First

    #### 第7章:适应性设计——适配器模式和外观模式 这一章节讨论了两种结构型设计模式:适配器模式和外观模式。适配器模式允许不兼容的接口之间进行协作;而外观模式则提供了一个统一的接口,用来访问子系统中的一群...

    gof设计模式中英双语版

    其中包括适配器模式、桥接模式、组合模式、装饰器模式、外观模式、享元模式和代理模式。这些模式有助于减少类之间的耦合,提高代码的可重用性和可维护性。 3. 行为型模式:这类模式主要关注对象间如何交互和分配...

    管理系统javasal源码-Design-Patterns-Demo:超全的设计模式——理论+实现demo

    管理系统java sal源码 [toc] 设计模式 源码地址: 博客地址: 分类 序号 模式 & ...创建型模式:这些设计模式提供了一种在...Pattern)外观模式(Facade Pattern)享元模式(Flyweight Pattern)代理模式(Proxy Pattern)

    java设计模式学习笔记

    ### Java设计模式学习笔记——外观模式(Facade Pattern) #### 概述 设计模式是软件工程领域中一种解决常见问题的可复用解决方案。在Java开发过程中,掌握设计模式能够帮助开发者更好地组织代码结构,提高代码的...

Global site tag (gtag.js) - Google Analytics