`

外观模式 Facade Pattern

阅读更多

definition


Provide a unified interface to a set of interfaces in a subsystem. Façade defines a higher-level interface that makes the subsystem easier to use.

Frequency of use:   high

为子系统中的一组接口提供一个一致的界面,它为子系统中的一组接口提供一个统一的高层接口,使得子系统更容易使用。



UML图







代码参考:http://www.iteye.com/topic/327449



adapter和facade模式区别:

adapter模式和Facade模式都是包装,用对象将遗留系统包装起来使其更容易使用。

 

有些人认为两个设计模式的另一个差异是:Facade隐藏了多了类,而Adapter只隐藏了一个类。这种说法经常是成立的,但不是模式本身的特点,将Facade置于一个非常复杂的对象之前,而将adapter来包装几个共同实现所需功能的小对象,也是不可能的。 

 

从动机出发,或许会更清晰一些
adapter是为了重用与期望接口不一致但的确可以被重用的代码。
Facade模式,是为了减小模块间的耦合而在更高层次上定义的接口,通常提供以该模块较粗粒度的入口

结论:Facade模式简化了接口,而Adapter模式则将一个已有的接口转换成一个已有的接口。

 

分享到:
评论

相关推荐

    设计模式之外观模式(Facade Pattern)

    **外观模式(Facade Pattern)**是一种结构型设计模式,它主要解决的是复杂系统或子系统对外暴露一个简单统一的接口,使得客户端无需关心内部复杂的交互细节。这种模式在实际开发中广泛应用,尤其在大型项目中,它能...

    外观模式(Facade Pattern)-结构型模式

    设计模式面面观(13):外观模式(Facade Pattern)-结构型模式 http://blog.csdn.net/fanweiwei/archive/2008/04/17/2299641.aspx

    c++-设计模式之外观模式(Facade Pattern)

    外观模式(Facade Pattern)是一种结构型设计模式,用于为复杂子系统提供一个简单的接口。它通过封装系统内部的复杂性,提供一个统一的接口,使得客户端能够更加方便地使用子系统的功能。这种模式通常用于简化代码、...

    通过python实现外观模式(Facade Pattern).rar

    外观模式(Facade Pattern)是一种结构型设计模式,它为子系统中的一组接口提供一个统一的接口,使得子系统更容易使用。外观模式定义了一个高层接口,使得这一子系统更加容易使用。 压缩包文件代码是一个简单的 ...

    解析C#设计模式编程中外观模式Facade Pattern的应用

    外观模式(Facade Pattern)是设计模式中的一种结构型模式,其主要目的是为了简化客户端与复杂系统之间的交互。在C#编程中,外观模式通常用于减少客户端对子系统组件的依赖,提供一个统一的、高层次的接口,使得...

    通过C++实现外观模式(Facade Pattern).rar

    在C++中,外观模式(Facade Pattern)同样用于为子系统中的一组接口提供一个统一的接口,使得子系统更容易使用。压缩包文件代码是一个简单的C++实现外观模式的示例。 1、定义各个子系统的类及其接口。 2、定义外观类...

    通过java实现外观模式(Facade Pattern).rar

    在Java中,外观模式(Facade Pattern)同样用于为子系统中的一组接口提供一个统一的接口,使得子系统更容易使用。压缩包文件代码是一个使用Java实现外观模式的简单示例。 1、定义各个子系统的接口及其实现类。 2、...

    设计模式之外观模式 facade

    外观模式(Facade Pattern)是设计模式中的一种结构型模式,主要目的是为了解决复杂的系统接口问题,提供一个简单的统一入口,使得客户端可以更方便地使用系统。在Java中,外观模式通常用来隐藏系统的复杂性,对外只...

    FacadePattern.unitypackage

    FacadePattern.unitypackage是C#版设计模式中的外观模式,采用unity举例和C#举例,详细说明了外观模式的用法。

    Wrapper facade pattern

    **包装器外观模式(Wrapper Facade Pattern)** 包装器外观模式是一种软件设计模式,它将一个复杂的组件或者一组组件的接口进行简化,提供一个统一的、更易用的访问方式。这种模式通常用于隐藏底层系统的复杂性,为...

    C#面向对象设计模式纵横谈(11):Facade 外观模式(结构型模式) (Level 300)

    **外观模式(Facade Pattern)**是面向对象设计模式中的一种结构型模式,它提供了一个统一的接口,用于访问子系统中的各个部分。在C#编程中,外观模式可以帮助我们简化复杂的系统接口,使得客户端代码与复杂的内部...

    facade-demo(外观模式示例)

    **外观模式(Facade Pattern)**是一种结构型设计模式,它为复杂的系统或子系统提供一个简单的接口,使得客户端代码能够更容易地使用这些系统或子系统。在Java编程中,外观模式常常被用来简化多模块间的交互,降低...

    C#版 24种设计模式

    适配器模式(Adapter Pattern) 提供者模式(Provider Pattern) 外观模式(Facade Pattern) 享元模式(Flyweight Pattern) 原型模式(Prototype Pattern) 责任链模式(Chain of Responsibility Pattern) 中介者模式...

    设计模式外观模式PPT学习教案.pptx

    在软件设计中,外观模式(Facade Pattern)是一种结构型设计模式,它提供了一个统一的接口来访问子系统中的多个接口,从而简化了子系统的使用和维护。本节课程将详细介绍外观模式的定义、结构、实例、优点和应用场景...

    [结构型模式] 外观模式的理解

    在给定的文件`FacadePattern.cpp`和`FacadePattern.h`中,我们可以预期看到C++实现的外观模式示例。通常,外观模式包含以下几个关键角色: 1. **外观(Facade)类**:这是对外部世界提供服务的接口,它封装了对子...

    设计模式之外观模式

    外观模式(Facade Pattern)是设计模式中的一种结构型模式,它的主要目的是为了解耦系统,提供一个统一的入口,使得客户端可以更容易地使用复杂的子系统。在Java中,外观模式通常用于简化对复杂系统的访问,它创建了...

Global site tag (gtag.js) - Google Analytics