`
iflytek_wjzhu
  • 浏览: 41825 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
最近访客 更多访客>>
社区版块
存档分类
最新评论

Android日记之2012/02/09——浅谈设计模式facade

阅读更多
      最近在看些设计模式facade的文章,也做个总结吧,如果说,写的不好,希望大家指正~~~谢谢~~~

      其实,感觉设计模式的东西比较难写,理论性比较强,就这么干巴巴的写理论,自己写的没意思,看的人也觉得没意思,但是要一下子写个Demo来具体说明一下,有感觉有点无从下手的感觉,也嫌写着麻烦。。。。。。就谈谈自己的理解吧。

      在说facade前,让我们先想想这样的场景。我们一般去医院看病的话,一般按照这样的步骤:1、挂号;2、去找医生;3、如果说病情不明的,还要去验个血;4、再回到医生那让医生对症下药;5、付款、取药。

      其实,我们整件事情做下来,无非是想知道自己得了什么病,该买什么药来治病,之间的找哪位医生啊,去验血啊,都不是我们想要关心的。那我们能不能这样,在医院里放个小机器人(可采血),我们滴一两滴血给小机器人,让它帮我们去挂号、验血、找医生、拿药过来,我们就只要在大厅里坐等小机器人过来,付款,拿药。这样下来,我们同样可以知道自己得了什么病,该买什么药来治病。但我们和医院的各个部门的接触就少了(程序中就是减少耦合),那这个小机器人,就是facade。

      Facade的理论介绍是这么写的:为子系统提供了一个更高层次、更简单的接口,从而降低了子系统的复杂度和依赖,这使得子系统更易于使用和管理。降低了子系统和客户的耦合度。

      对此,我们可以用一些项目来说明。最简单的,程序的前后台。用户通过访问程序的前台来获得数据,但是用户可以不用知道前台是如何和后台交互的。也就是说,用户得到了自己想要的数据,和程序至交互了一次。这就是运用了facade设计模式。如果不用呢?那用户就是把后台需要的方法一个一个调用过来,无疑就是增加了耦合度。而面向对象中就提到了高内聚、低耦合(这里就不扩展了,要不然就太庞大了。。。。。)。

      难道说facade设计模式就如此简单?非也,这只是举些大家都熟悉的例子而已。其实,难就难在我们如何在代码中把这种思想运用进去。我们可以把一个类看作是客户,它需要使用另外几个类来处理一个数据,那这几个类,我们就可以为它们写个接口,来作为他们的前台,那这个客户类就只需要与这个前台交互,就能得到所需要的数据。
0
0
分享到:
评论

相关推荐

    java高手真经 (UML建模+设计模式+面向服务架构) 卷6

    (1)UML样例源文件(8个样例文件) uml/uml.mdl //01.UML快速入门 uml/usecase.mdl //02.用例图 uml/class.mdl //03.静态图——类图、对象图、包图 uml/component.mdl //04.实现图——组件图与部署图 uml/...

    java高手真经 (UML建模+设计模式+面向服务架构) 卷8

    (1)UML样例源文件(8个样例文件) uml/uml.mdl //01.UML快速入门 uml/usecase.mdl //02.用例图 uml/class.mdl //03.静态图——类图、对象图、包图 uml/component.mdl //04.实现图——组件图与部署图 uml/...

    java高手真经 (UML建模+设计模式+面向服务架构) 卷3

    uml/usecase.mdl //02.用例图 uml/class.mdl //03.静态图——类图、对象图、包图 uml/component.mdl //04.实现图——组件图与部署图 uml/statechart.mdl //05.行为图——状态图 uml/activity.mdl //06....

    java高手真经 (UML建模+设计模式+面向服务架构) 卷10

    (1)UML样例源文件(8个样例文件) uml/uml.mdl //01.UML快速入门 uml/usecase.mdl //02.用例图 uml/class.mdl //03.静态图——类图、对象图、包图 uml/component.mdl //04.实现图——组件图与部署图 uml/...

    java高手真经 (UML建模+设计模式+面向服务架构) 卷5

    (1)UML样例源文件(8个样例文件) uml/uml.mdl //01.UML快速入门 uml/usecase.mdl //02.用例图 uml/class.mdl //03.静态图——类图、对象图、包图 uml/component.mdl //04.实现图——组件图与部署图 uml/...

    java高手真经 (UML建模+设计模式+面向服务架构) 卷1

    uml/usecase.mdl //02.用例图 uml/class.mdl //03.静态图——类图、对象图、包图 uml/component.mdl //04.实现图——组件图与部署图 uml/statechart.mdl //05.行为图——状态图 uml/activity.mdl //06....

    java高手真经 (UML建模+设计模式+面向服务架构) 卷2

    uml/usecase.mdl //02.用例图 uml/class.mdl //03.静态图——类图、对象图、包图 uml/component.mdl //04.实现图——组件图与部署图 uml/statechart.mdl //05.行为图——状态图 uml/activity.mdl //06....

    java高手真经 (UML建模+设计模式+面向服务架构) 卷7

    (1)UML样例源文件(8个样例文件) uml/uml.mdl //01.UML快速入门 uml/usecase.mdl //02.用例图 uml/class.mdl //03.静态图——类图、对象图、包图 uml/component.mdl //04.实现图——组件图与部署图 uml/...

    java高手真经 (UML建模+设计模式+面向服务架构) 卷9

    (1)UML样例源文件(8个样例文件) uml/uml.mdl //01.UML快速入门 uml/usecase.mdl //02.用例图 uml/class.mdl //03.静态图——类图、对象图、包图 uml/component.mdl //04.实现图——组件图与部署图 uml/...

    java高手真经 (UML建模+设计模式+面向服务架构) 卷4

    uml/usecase.mdl //02.用例图 uml/class.mdl //03.静态图——类图、对象图、包图 uml/component.mdl //04.实现图——组件图与部署图 uml/statechart.mdl //05.行为图——状态图 uml/activity.mdl //06....

    设计模式之门面模式(Facade模式)

    设计模式之门面模式(Facade模式),介绍门面模式,实际例子分析,代码讲解等

    EJB设计模式概述——讲解EJB设计模式的重要性及常用的模式

    【EJB设计模式概述】 EJB(Enterprise JavaBeans)设计模式是解决在Java EE平台中使用EJB组件遇到的问题和挑战的一种策略。这些模式旨在优化系统性能、可扩展性、可维护性,以及提高组件的重用性。在大型、复杂的...

    设计模式1,FACADE模式,Adapter

    设计模式是软件开发中的重要概念,它是一种在特定场景下解决问题的通用、可重用的设计方案。设计模式的目的是为了提高代码的可读性、可维护性以及系统设计的灵活性。本文将深入探讨FACADE模式、Adapter模式以及...

    X-gen PPT下载——《研磨设计模式》 实战

    2. **结构型模式**:如适配器模式(Adapter)、装饰器模式(Decorator)、代理模式(Proxy)、桥接模式(Bridge)、组合模式(Composite)、外观模式(Facade)和享元模式(Flyweight)。这些模式处理对象之间的关系...

    设计模式之外观模式 facade

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

    facade设计模式

    **外观(Facade)设计模式**是一种结构型设计模式,它为复杂的系统或子系统提供一个统一、简洁的接口,使得客户端可以更容易地与其交互。在软件工程中,当一个系统包含多个子系统或者组件,而这些子系统之间相互依赖...

    《java设计模式》课后习题模拟试题解答——刘伟.zip

    本资料“《java设计模式》课后习题模拟试题解答——刘伟.zip”主要涵盖了Java设计模式的学习与应用,特别是针对刘伟教授的相关课程的课后习题及模拟试题的解答。 设计模式分为三大类:创建型、结构型和行为型模式。...

    设计模式之Facade

    eclipse工程文件 包含代码 有助理解 门面(Facade)模式 <br>外部与一个子系统的通信必须通过一个统一的门面(Facade)对象进行,这就是门面模式。 <br>医院的例子 <br>用一个例子进行说明,如果把医院...

    深入浅出设计模式附书源码Java版源码

    2. **结构型模式**:它们处理类和对象的组合,如适配器模式(Adapter)、桥接模式(Bridge)、装饰器模式(Decorator)、外观模式(Facade)、组合模式(Composite)、代理模式(Proxy)和享元模式(Flyweight)。...

Global site tag (gtag.js) - Google Analytics