【问题标题】:Design patterns - Difference between Adapter and Bridge?设计模式 - 适配器和桥接器之间的区别?
【发布时间】:2013-07-11 23:23:17
【问题描述】:

我正在阅读 GoF 的设计模式,但我陷入了桥模式。我不禁注意到它与适配器模式非常相似,我尝试通过阅读 Stack Overflow 上的问题来了解两者之间的区别,但我仍然很困惑。

关于适配器模式的章节说有两种方法可以实现它。一是类适配器,二是对象适配器。对象适配器的好处之一(如书中所写)是您不仅可以调整一个特定的类,还可以调整子类。

如果我错了,请纠正我,但这种适配器实现不正是 Bridge 的实际用途吗?换句话说,Bridge 不只是适配器模式的对象实现版本,您也可以在其中使用子类吗?

谢谢。

附言如果您要发布代码示例,请使用 C++ 发布。

【问题讨论】:

  • 绝对是重复的。这个问题的答案非常有用。
  • 我认为我的问题更具体一点。您链接的答案并没有真正告诉我桥模式和对象实现的适配器模式之间是否有任何区别。它提供了很多信息,但缺乏关于桥接模式的进一步解释。我希望这是有道理的!谢谢。 :)
  • 不同之处在于背后的理念。适配器为客户的代码需求适配一种接口。桥接是您可以分离抽象和实现的设计方式。所以即使你有相同的类图作为两者的结果——这些模式有不同的背景。我认为应该说桥是使用“对象适配器”实现的。

标签: c++ oop design-patterns


【解决方案1】:

Bridge 封装了它所代表的对象,但可以选择在运行时为具有相同接口的任何其他对象更改该对象,并在需要时更改 Bridge 对象的整个行为。适配器通常是为一个特定的类和一个特定的对象创建的。

【讨论】:

    猜你喜欢
    • 2010-11-28
    • 2012-05-25
    • 2011-03-30
    • 1970-01-01
    • 1970-01-01
    • 2017-04-21
    • 1970-01-01
    • 2012-06-12
    • 2014-04-18
    相关资源
    最近更新 更多