• 设计模式之外观模式


    一、外观模式定义

    外观模式定义:提供了一个统一的接口,用来访问子系统中的一接口。外观定义了一个高层接口,让子系统更容易使用
    外观模式将一个或者数个类的复杂的一切都隐藏在背后,只显露出一个干净美好的外观。通过实现一个提供更合理的接口的外观类,你可以将一个复杂的子系统变的更加容易使用。
    外观模式不只是简化了接口,也将客户从组件的子系统中解耦。
    外观模式和适配器模式可以包装许多类,但是外观模式的意图是简化接口,而适配器的意图是将接口转换成不同接口

    二、外观模式类图

    三、 最少知识原则

    “最少知识”原则:只和你的密友谈话

    这个原则希望我们在设计中,不要让太多的类耦合在一起,免得修改系统中一部分,会影响到其他部分。如果许多类之间相互依赖,那么这个系统就会变成一个易碎的系统,它需要花许多
    成本维护,也会因为太复杂而不容易被其他人了解。
    该原则提供了一些方针:
    (1)该对象本身
    (2)被当做方法的参数而传递进来的对象
    (3)此方法所创建或实例化的任何对象
    (4)对象的任何组件

    注意:(1)(2)(3)想告诉我们,如果某对象是调用其他的方法的返回结果,不要调用该对象的方法。
    (4)想告诉我们,把组件想象成被实例变量所引用的任何对象,换句话说,把这想象成是“有一个(has-a)”关系

    采用最少知识原则的优缺点:
    (1)减少了对象之间的依赖,进而会减少软件的维护成本
    (2)同时也会导致更多的“包装”类被制造出来,已处理和其他组件的沟通
    (3)可能会导致复杂度和开发时间的增加,并降低运行时的性能

    四、总结

    1) 当需要简化并统一一个很大的接口或者一群复杂的接口时,使用外观。
    2) 外观将客户从一个复杂的子系统中解耦
    3) 实现一个外观,需要将子系统组合进外观,然后将工作委托给子系统进行执行
    4) 你可以为一个子系统实现一个以上的外观
    5) 外观将一群对象“包装”起来以简化其接口

  • 相关阅读:
    SQL Server中的事务与锁
    delphi中 dataset容易出错的地方
    Ehlib(Delphi控件) v9.2.024 D7-XE10.2 免费绿色特别版
    Delphi (Library Path Browsing Path)
    XML序列化和反序列化
    C#基础--Attribute(标签) 和 reflect(反射) 应用
    C#特性类的使用
    NOPI使用手册
    【WCF】错误处理(四):一刀切——IErrorHandler
    浅析C#中的事件
  • 原文地址:https://www.cnblogs.com/lovegrace/p/12177293.html
Copyright © 2020-2023  润新知