首页 > 代码库 > Abstract Server模式,Adapter模式和Bridge模式
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)]
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。