zoukankan      html  css  js  c++  java
  • 外观模式(Façade)

    1 概述
    当你开发系统时,遇到这样的问题:
    1>分层开发时,底层的多个类相互协作完成一些复杂的功能,高层的开发人员也必须要知道这些底层类是如何协作完成功能,这样做合理吗
    2>在开发系统时,需要用到已有的旧系统中的功能,面对那些杂乱无章的代码、逻辑我们怎么办,难道要每一位开发人员都去面对吗

    当遇到这些问题,在面向对象的世界里,我们是如何解决——外观模式
    2 GOF
    意图
    为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。[GOF 《设计模式》]


    结构图

    3 理解
    SubSystem:复杂的子系统,其中的类关系复杂,类比较多;
    Client:高层客户代码
    Façade:聚合子系统中的类

    这样,原来客户代码是直接与子系统交互,现在它们之间的交互都控制在了Façade类,解耦了高层代码与低层代码。

  • 相关阅读:
    POJ 3071 概率DP
    BZOJ 2427 /HAOI 2010 软件安装 tarjan缩点+树形DP
    POJ 1155 树形DP
    POJ 3252 组合数学?
    POJ 3641 快速幂
    POJ 3180 Tarjan
    POJ 3185 DFS
    POJ 3260 DP
    POJ 2392 DP
    99. Recover Binary Search Tree
  • 原文地址:https://www.cnblogs.com/dataadapter/p/2685168.html
Copyright © 2011-2022 走看看