zoukankan      html  css  js  c++  java
  • Abstract Server模式,Adapter模式和Bridge模式

    • 简易的台灯
    • Abstract Server模式
      • 谁拥有接口.
        • 接口属于它的客户,而不是它的派生类.
        • 接口和客户之间的逻辑关系,强于接口和其派生类的逻辑关系.
        • 逻辑关系和实体关系的强度是不一致的.在实体关系上,继承比依赖更强.
        • 最好将接口和它的客户打包,而不是和它的派生类在一起.
    • Adapter模式
      • 当Light不能继承Switchable接口时(第三方代码).
      • Modem Client仍然看到的是期望的连接行为,而Ded User不必去调用根本无用的Dial/Hangup().
      • 仍然存在杂凑体.Adapter仍然要模拟连接动作.但是依赖关系都存在于Adapter上,其对User是隐藏的.只有factory才会依赖于它.
    • Bridge模式
      • 在类型层次结构具有多个自由度时,Bridge把这些层次结构分开并通过桥把他们结合在一起,而不是合并.
    • 结论
      • 不存在完美的结构.一个变化就能够破坏所谓的完美结构.
      • 只存在试图去平衡当前的代价和收益的结构.诀窍是尽可能的保持系统简单,灵活.
      • Adapter方案简单直接,并让所有的依赖关系都指向正确的方向,并且易于实现.
      • Bridge复杂,但是在需要完全分离链接和通信策略并且需要增加新的链接策略时才使用.

    [Agile Software Development(Principles,Patterns,and Pracitices)]

  • 相关阅读:
    如何判断两个数组是否相等?
    正则表达式
    开发板 Linux驱动视频 驱动是什么
    关于模型的评估
    Python画图参数设置
    Python图片的横坐标汉字
    矩阵的点成和叉乘
    svd 奇异值分解
    Python的主成分分析PCA算法
    论文参考文献格式
  • 原文地址:https://www.cnblogs.com/robyn/p/3472532.html
Copyright © 2011-2022 走看看