设计模式之桥接模式优秀的程序结构(十五)

咱不要多, 就一个隐身技能, 嘿嘿嘿

定义

桥接模式(bridge): 在软件系统中, 某些由于自身的逻辑, 它具有两个或多个维度的变化, 那么如何应对这种"多维度的变化"? 如何利用面向对象的技术来使得该类型能够轻松的沿着多个方向进行变化, 而又不引入额外的复杂度?这就是Bridge模式. 而具体使用的方式, 则是将抽象部分与他们的实现部分分离, 使得他们都可以独立的变化.

桥接模式解决的问题:

  • 调用方操作的子类数目减少了
  • 实现部分切换十分容易, 主要变现在抽象部分与实现部分的耦合度很低, 因为使用聚合取代继承
  • 扩展时候很简单, 可以更好的容纳变化

疑问: 桥接模式似乎有一些模式的影子?

  • 适配器模式 算是补救措施
  • 共同点
    • 让多个对象更好的配合工作(广义的)
  • 不同点
    • 适配器: 让多个有部分不同点的对象适配起来一起使用
    • 桥接模式: 分离抽象化与实现, 降低耦合

实际上这两个使用场景大大的不同: 但是相同点是我们程序员最敏感的地方, 就是适配器有种用法: 特殊适配器, 它是组合+继承的关系

画个UML

 

上面很明显了, 对源代码的结构还是有不少破坏的, 功能上是没问题的, 只是自己需要把其他原本与D一样的类继承A

posted @ 2017-05-05 18:35  hassenli  阅读(195)  评论(0编辑  收藏  举报