Design pattern learning I: Facade pattern

原创 2006年05月27日 02:01:00

Gang of Four says: Provide a unified interface to a set of interfaces in subsystem. Facade defines a higher-level interface that makes the subsystem easier to use.

Facade pattern enables us to use a complex system more easily, either to use just a subset of the system in a particular way.

Facade can be used not only to create a simpler interface in terms of method calls, but also reduce the number of objects that a client object must deal with.

Facade pattern applies when:
1. You don't need to use all of the functionality of a complex system and can create a new class that contains all of the rules for accessing that system.
2. You want to encapsulate or hide the orignial system.
3. You want to use the functionality of the original system and want to add some new functionality as well.
4. The cost of writing this new class is less than the cost of everybody learning how to use the original system or is less then you would spend on maintenance in the future.


GOF说:
Facade模式在子系统的接口集上提供了统一的对外接口。Facade定义了一个高层的接口使得子系统更容易被使用。

定义:
Facade模式使得我们更容易使用一个复杂系统,或者通过特殊方式使用系统的一个子集。它不仅能用来创建一个简单的接口,也减少了客户必须交互的对象数量。

可以把Facade应用在:
1. 你不想使用复杂系统的所有功能,并创建一个新的类来包含所有的访问系统的规则
2. 你想封装或者隐藏原系统
3. 你想使用原系统的功能,也想添加新的功能
4. 学习或维护原系统的代价要比创建新的接口类大

设计模式(结构型)之外观模式(Facade Pattern)

一个客户类需要和多个业务类交互,而这些业务类经常会作为整体出现,由于涉及到的类比较多,导致使用时代码较为复杂。外观模式通过引入一个新的外观类(Facade)来实现该功能,外观类为多个业务类的调用提供统...
  • yanbober
  • yanbober
  • 2015年05月04日 09:29
  • 2527

设计模式12:Facade Pattern (门面模式)

Define:Provide a unified interface to a set of interfaces in a subsystem. Façade defines a higher-le...
  • rocket5725
  • rocket5725
  • 2009年07月02日 09:43
  • 3166

翻译 《Pattern Recognition and Machine Learning》(PRML)的前言

翻译 《Pattern Recognition and Machine Learning》(PRML)的前言 这本书为机器学习方面的经典书籍。...
  • qq278672818
  • qq278672818
  • 2017年01月15日 11:49
  • 654

pattern recognition and machine learning这本书怎么看?

这篇是今年最后一篇博客了,年中的时候写过一部分,没能坚持下来。 在新的一年里,希望自己能够在技术上有所突破,在推荐系统、机器学习、自然语言处理处理领域成为初级专家。 转自知乎:http://www.z...
  • Erli11
  • Erli11
  • 2015年02月16日 10:35
  • 1723

几本Design Pattern的书

大话设计模式设计模式--基于C#的工程化实现及扩展(china-pub 首发) First head Design Pattern设计模式之禅...
  • tuwen
  • tuwen
  • 2011年03月06日 11:51
  • 979

《Pattern Recognition and Machine Learning》学习笔记 第一章(一)

Chapter 1(one) Introduction     最近在读机器学习大牛Christopher M. Bishop的《Pattern Recognition and Mac...
  • kongguzuyin12138
  • kongguzuyin12138
  • 2013年03月16日 00:33
  • 2288

C++版的Head First Design Pattern

       前 些天从sourceforge上down下一个C++版的Head First Design Pattern,一直都没有仔细看过,也不知道HeadFirstDesignPattern是一...
  • iinel
  • iinel
  • 2007年11月16日 10:13
  • 1580

设计模式 - 迭代器模式(iterator pattern) 详解

迭代器模式(iterator pattern) 详解本文地址: http://blog.csdn.net/caroline_wendy迭代器模式(iterator pattern) : 提供一种方法顺...
  • u012515223
  • u012515223
  • 2014年06月27日 14:03
  • 1912

设计模式之---单例模式(Singleton Design Pattern)

场景 对象只要利用自己的属性完成了自己的任务.那该对象就是承担了责任。 除了维持了自身的一致性,该对象无需承担其他任何责任。 如果该对象还承担着其他责任,而其他对象又依赖于该特定对象所承担的贵任...
  • u010878994
  • u010878994
  • 2016年04月26日 01:19
  • 585

Design Pattern(9)-Facade Pattern

适用场景1.使一个子系统更容易被外部所使用; 2.将设计很差的API wrap成更合理的API; 3.减少外部对子系统内部的依赖类图...
  • jieFengDi
  • jieFengDi
  • 2017年03月26日 19:13
  • 501
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Design pattern learning I: Facade pattern
举报原因:
原因补充:

(最多只允许输入30个字)