zoukankan      html  css  js  c++  java
  • 侃门面模式(Facade)

      作用:

           为一组具有复杂且全面的接口对象提供一个简单特定的接口。

    正文:

           “金玉其外,败絮其中。”这句话对门面模式倒是可以解释。“金玉其外”指的就是门面,是调用者能看到的,是简单特定的接口。“败絮其中”指的就是复杂且全面的接口对象,里面有复杂的逻辑和结构,对调用者来说,是不可见的。

    如果调用者不通过门面类而直接调用子系统的接口,那就是很头疼的事。“一叶障目,不见泰山。”这就是门面模式的作用。

    我就用一个饭店的例子。


    一个饭店,有很多的部门,顾客对每一个部门的职责不关心,要吃饭的顾客只要走进饭店,就有服务员过来服务,等酒足饭饱后,顾客只要说声买单,就有服务员过来结账。对于顾客而言,并不知道服务员是哪个部门的。

    再举个例子,那就是照相机里的程序。在拍照前,照相机要做很多的事情,调节光圈,调节焦距,是否要开闪光灯,还有很多普通用户根本不知道的。而这些对于摄影初学者来说,是一窍不通的。这时自动拍照功能就是一个门面模式的应用。用户只要取景,再按快门就行了,其它一切复杂的动作都被隐藏起来。

    门面模式不一定是一个类,也可以是一组函数。它把所有全面性和复杂性隐藏在一个非常简单且特定的接口后面,它是用户访问子系统的唯一途径,所有越过接口直接去访问子系统都是违背约定的。

    门面模式比较简单,我也就不多说了。
  • 相关阅读:
    用css给控件加渐变色
    身乃自之才 体乃人之本
    选择 永恒的 无悔改
    asp.net 异步加载
    没有做不到的 只有想不到的
    VS2005中BackgroundWorker组件的使用经验(转)
    c#调用Dos命令(超捷)
    CMM/CMMI 与敏捷的比较(转)
    软件项目的质量管理(转)
    移动硬盘格式影响文件拷贝
  • 原文地址:https://www.cnblogs.com/goodcandle/p/248151.html
Copyright © 2011-2022 走看看