• 七个结构模式之外观模式(Facade Pattern)


    定义:
    为子系统的一组接口提供一个统一的入口,从而降低系统之间的耦合度,提高子系统的可用性。外观模式又称为门面模式,是迪米特法则的一个体现,主要目的就是降低耦合。


    结构图

    • Facade:抽象外观类,子系统提供的一组接口的抽象定义。客户端仅针对该抽象层进行编程,不需要知道子系统直接的相互作用关系。
    • ConcreteFacade:具体外观类,抽象门面类的具体实现,其中调用子系统的各个类的业务方法,完成接口中定义的业务需求。
    • Subsystems:子系统类,这些类之间存在各种相互依赖关系,并对外提供业务处理功能。

    注意:

    • 外观模式并不给系统增加任何新的功能,它仅仅是简化客户端和子系统之间的调用关系。
    • 如果利用抽象外观类,在选择具体抽象外观类的时候可以采用XML加反射的方法来动态地配置。

    优点:

    • 对客户端屏蔽了子系统组件,减少了客户端所需处理的对象数目,使子系统使用更加容易
    • 子系统的修改对其它子系统不会产生影响,同样也不会影响客户端调用,如果在业务方法没有变的前提下。

    适用情况:

    • 当要为访问的一系列复杂的子系统提供一个简单入口时,可以采用外观模式。
    • 客户端和多个子系统之间存在很大的依赖性,引入外观类可以将子系统独立出来,提高子系统的可移植性。
    • 在层次化机构中,用外观模式可以定义每个层次的入口,层与层之间不产联系,而是通过外观建立联系,降低层之间的耦合度。

    实例:
    FacadePattern

  • 相关阅读:
    libev & libevent简介
    MyEclipse10+Flash Builder4+BlazeDS+Tomcat7配置J2EE Web项目报错(一)
    增加表空间大小的四种方法
    JavaScript获取某年某月的最后一天
    Not in 改写左连接不需要关注连接列是否重复数据
    自连接
    左链接,右连接
    In,内链接和空值
    HighCharts基本折线图
    NetBeans运行项目报错
  • 原文地址:https://www.cnblogs.com/zhangfei614/p/6034013.html
Copyright © 2020-2023  润新知