敏捷软件开发 - 原则、模式与实践 —— 设计模式(九)ABSTRACT SERVER模式、ADAPTER模式和BRIDGE模式

本文为敏捷软件开发 - 原则、模式与实践系列的一部分。

本文对应原书第25章

ABSTRACT SERVER模式

图1

如上图在Switch和Light之间引入一个接口,这样就使得Switch能够控制任何实现了这个接口的东西。这立即就满足了DIP和OCP。这个就是ABSTRACT SERVER模式。

请注意接口的名字是从它的客户的角度起的。它被称为Switchable而不是ILight。我们在前面已经讨论过这个问题,并且可能还会再次看到它。接口属于它的客户,而不是它的派生类。客户和接口之间的逻辑绑定关系要强于接口和它的派生类之间的逻辑绑定关系。它们之间的关系强到在没有Switchable的情况下就无法使用Switch;但是,在没有Light的情况下却完全可以使用Switch。逻辑关系的强度和实体关系的强度是不一致的。继承是一个比关联强得多的实体关系。

ADAPTER模式

图2
上图是一个ADAPTER模式例子。Modem接口有4个方法,新加入一种专线型调试解调器,它无需拨号和挂断,使用专线型调试解调器的客户程序称为DedUser,同时又希望现有客户程序也可以使用这种新型调试解调器。在这个例子中,DedicatedModem

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值