`
pouyang
  • 浏览: 320089 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Design Patterns 结构模式 之 Facade 外观模式

 
阅读更多
2.1 Facade
外观模式
定义:它为子系统中的一组接口提供一个统一的高层接口。使得子系统更容易使用。


Facade有如下的优点:

1、 他对客户屏蔽了子系统组件,从而减少了客户处理对象的个数,使得子系统使用起来更加的方便。

2、它实现了子系统与客户之间的松耦合的关系,而子系统内部的 功能组件往往是紧耦合的。

3、 若果需要,它并不限制他们使用子系统类。因此你可以在系统易用性和通用性之间加以选择。

public class SubSystemA {

       protected SubSystemA ( ) {

                System.out.println("SubSystemA ");

      }

}

public class SubSystemB{

      protected SubSystemB ( ) {

              System.out.println("SubSystemA ");

      }

}

public class SubSystemC {

      protected SubSystemC ( ) {

             System.out.println("SubSystemA ");

      }

}

// facade class

public class Facade {

      public void doAll( ) {

                SubSystemA systemA = new SubSystemA ();

                SubSystemA systemA = new SubSystemA ();

                SubSystemA systemA = new SubSystemA ();

      }

      public static void main(String[] args) {

             new Facade().doAll;

      }

}




分享到:
评论

相关推荐

    Design Patterns(Structural):Facade

    设计模式(结构型):外观模式 外观模式(Facade Pattern)是一种常用的软件设计模式,在面向对象编程中,它为子系统中的一组接口提供一个统一的高层接口,使得这一子系统更加容易使用。外观模式定义了一个高层接口...

    设计模式(Design Patterns).pdf

    - 外观模式(Facade):为子系统中的一组接口提供一个统一的高层接口,使子系统更容易使用。 - 桥接模式(Bridge):将抽象部分与实现部分分离,使它们都可以独立地变化。 - 组合模式(Composite):将对象组合成...

    DesignPatterns.pdf_objects_designpatterns_

    - 外观模式(Facade):为子系统提供一个一致的界面,使得子系统的复杂性对客户隐藏起来。 - 适配器模式(Adapter):将一个类的接口转换成客户希望的另一个接口。 - 桥接模式(Bridge):将抽象部分与实现部分...

    设计模式(Design Patterns)中译本.rar

    - 外观模式(Facade):提供一个统一的接口,用来访问子系统中的一组接口。 - 享元模式(Flyweight):使用共享技术有效地支持大量细粒度的对象。 - 装饰模式(Decorator):动态地给一个对象添加一些额外的职责...

    DesignPatterns.zip

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

    《Java 企业设计模式》(Java Enterprise Design Patterns) 随书源代码

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

    designpatterns 设计模式

    使得它们可以独立变化,外观模式(Facade)提供一个简单的统一接口来访问复杂的子系统,组合模式(Composite)允许将对象组成树形结构以表示“部分-整体”的层次关系,享元模式(Flyweight)用于有效地使用大量细...

    Head First Design Patterns 英文版 Head First设计模式

    结构型模式如适配器(Adapter)、外观(Facade)、代理(Proxy)等,则致力于处理类或对象的组合和继承问题。行为型模式如策略(Strategy)、观察者(Observer)、装饰器(Decorator)和模板方法(Template Method)...

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

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

    JAVA设计模式(Design Patterns)

    4. **外观模式**(Facade):为子系统提供一个统一的接口,使得子系统的复杂性对客户端隐藏。 5. **桥接模式**(Bridge):将抽象部分与实现部分分离,使它们可以独立变化。 6. **组合模式**(Composite):允许你将...

    scala design patterns源书代码

    10. 外观模式(Facade Pattern):通过创建一个简单的接口,对外部系统提供更友好的访问方式,Scala中可以通过类或者对象来实现。 11. 代理模式(Proxy Pattern):Scala的代理可以通过代理类或者动态代理(如`java...

    Design Patterns For Dummies

    - **外观模式(Facade)**:为子系统中的一组接口提供一个一致的界面。 - **享元模式(Flyweight)**:运用共享技术有效地支持大量细粒度的对象。 - **代理模式(Proxy)**:为其他对象提供一种代理以控制对这个对象...

    .NET Design Patterns [Kindle Edition]

    After reading this book, you will be able to convincingly leverage these design patterns (factory pattern, builder pattern, prototype pattern, adapter pattern, facade pattern, decorator pattern, ...

    Design.Patterns.Explained.Simply

    We've tried hard to avoid both of these categories with Design Patterns Explained Simply. This book is fast and simple way to get the idea behind each of the 29 popular design patterns. The book is ...

    《Java Design Patterns》高清完整英文PDF版

    Learn how to implement design patterns in Java: each pattern in Java Design Patterns is a complete implementation and the output is generated using Eclipse, making the code accessible to all....

    Design Patterns设计模式速查手册HandBood系列(By FengGe整理)

    12. **外观模式(Facade)**:为子系统提供一个统一的接口,使得这些子系统更加容易被使用。 13. **职责链模式(Chain of Responsibility)**:避免将处理责任硬编码到对象中,使得请求可以在对象之间传递,直到被...

    Head First Design Patterns 英文影印版本

    12. **外观模式(Facade)**:Ch13可能涵盖了如何为子系统提供一个统一的接口,使得子系统更容易被使用。 13. **命令模式(Command)**:Ch14可能讲解了如何将请求封装为一个对象,以便使用不同的请求、队列请求或...

Global site tag (gtag.js) - Google Analytics