针对问题:在软件开发系统中,客户程序经常会与复杂系统的内部子系统之间产生耦合,而导致客户程序随着子系统的变化而变化。 那么如何简化客户程序与子系统之间的交互接口?如何将复杂系统的内部子系统与客户程序之间的依赖解耦?
为子系统中的一组接口提供一个一致的界面, 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
分享到:
相关推荐
扩展系统功能——装饰模式(三) 扩展系统功能——装饰模式(四) 外观模式-Facade Pattern 深入浅出外观模式(一) 深入浅出外观模式(二) 深入浅出外观模式(三) 享元模式-Flyweight Pattern 实现对象的复用——...
8. **外观模式**:为子系统提供一个一致的接口,使得子系统更容易使用。它简化了客户端与复杂系统间的交互。 9. **桥接模式**:将抽象部分与实现部分分离,使它们可以独立变化。这种模式可以减少类的数量,降低系统...
- 外观模式:为子系统提供一个统一的接口,使得子系统更容易使用。 - 代理模式:为其他对象提供一种代理以控制对这个对象的访问。 3. **行为型模式**: - 责任链模式:将请求沿着处理者链传递,直到某个处理者...
为了帮助 .NET 开发者更好地理解和应用这些设计模式,《Head First 设计模式》为 .NET 2.0 特别推出了一个配套文档——《设计模式框架》(Design Pattern FrameworkTM),该文档涵盖了原书中介绍的所有设计模式,并...
外观模式为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 #### 3.6 享元模式 享元模式运用共享技术有效地支持大量细粒度的对象。它可以大大减少需要...
2. 结构型模式:这类模式主要关注如何将类或对象组合成更大的结构,如适配器模式(Adapter)、桥接模式(Bridge)、装饰模式(Decorator)、外观模式(Facade)、享元模式(Flyweight)、组合模式(Composite)和...
通过阅读GOF23种设计模式.docx文档和探索DesignPattern项目中的代码,你可以深入理解每种模式的用途、优点以及如何在C#和.NET Core环境中实现它们。对于想要提升编程技能和代码质量的开发者来说,这是一个宝贵的资源...
- 外观模式:为子系统提供一个一致的接口,简化客户端与其交互。 - 代理模式:为其他对象提供一种代理以控制对这个对象的访问。 -享元模式:使用共享对象可以有效地支持大量细粒度的对象。 3. 行为型设计模式: ...
- 外观模式(Facade):为子系统提供一个统一的接口,简化其使用。 - 代理模式(Proxy):为其他对象提供一种代理以控制对这个对象的访问。 - 装饰模式(Decorator):动态地给一个对象添加一些额外的职责,增加...
**设计模式**(Design Patterns)是软件工程中的一个重要概念,它是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。本章节将从多个角度对设计模式进行深入探讨。 #### 二、设计模式的基本定义 ...
#### 第7章:适应性设计——适配器模式和外观模式 这一章节讨论了两种结构型设计模式:适配器模式和外观模式。适配器模式允许不兼容的接口之间进行协作;而外观模式则提供了一个统一的接口,用来访问子系统中的一群...
其中包括适配器模式、桥接模式、组合模式、装饰器模式、外观模式、享元模式和代理模式。这些模式有助于减少类之间的耦合,提高代码的可重用性和可维护性。 3. 行为型模式:这类模式主要关注对象间如何交互和分配...
管理系统java sal源码 [toc] 设计模式 源码地址: 博客地址: 分类 序号 模式 & ...创建型模式:这些设计模式提供了一种在...Pattern)外观模式(Facade Pattern)享元模式(Flyweight Pattern)代理模式(Proxy Pattern)
### Java设计模式学习笔记——外观模式(Facade Pattern) #### 概述 设计模式是软件工程领域中一种解决常见问题的可复用解决方案。在Java开发过程中,掌握设计模式能够帮助开发者更好地组织代码结构,提高代码的...