gpt4 book ai didi

java - 桥梁设计模式中抽象的含义

转载 作者:行者123 更新时间:2023-11-30 02:12:53 24 4
gpt4 key购买 nike

我对如何解释java中的桥设计模式感到困惑。根据 GoF 的定义:

The bridge pattern is to decouple an abstraction from its implementation so that the two can vary independently.

但是,我认为我们进行抽象(使用抽象类和接口(interface))来将实现与其余代码分离(因为我们只是声明接口(interface)或抽象类而不是实现类)。现在,我认为由于桥接模式,我对抽象的理解是错误的。

到底什么是抽象以及它如何与桥接模式中的实现解耦?

最佳答案

I thought that we do abstractions (use of abstract classes and interfaces) to decouple the implementation from the rest of the code

您的理解是正确的。
您可以在极端情况下使用桥接器,在这种情况下,您不仅有一个,而且有两个(或多个)抽象,并且您不想将其混合在一起

GOF 模式很好地说明了这一点。
工具包的窗口依赖于两个抽象:

  • 窗口组件(图标、 transient 、全尺寸等)
  • 操作系统实现/功能方面的窗口。

如果您定义一个接口(interface):Window,您将把这两个抽象耦合到同一个接口(interface)中,并且 Window 实现将因此将它们耦合起来。

如果您定义两个接口(interface):Window(作为模型/功能概念)和WindowImp(作为操作系统实现)以及两个不同的层次结构:您可以解耦抽象。

关于java - 桥梁设计模式中抽象的含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49597427/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com