java - 抽象工厂模式与桥接模式

标签 java design-patterns bridge abstract-factory

我刚刚了解了Bridge 模式及其意图:将抽象与其实现分离,以便两者可以独立变化

但是为什么 AbstractFactory 不能做同样的事情呢?

我知道 AbstractFactory 可以创建一个特定的桥,但我的问题是使用 AbstractFactory 而不是 Bridge 来解耦抽象和实现。

能否请您解释一下 AbstractFactoryBridge 模式之间的真正区别?

最佳答案

首先,我所读到的桥接模式更适用于类及其功能经常变化的情况。类本身可以被认为是实现,类的行为是抽象。

另一方面,抽象工厂提供了一个接口(interface)来创建相关或依赖对象的组,而无需指定它们的具体类;他们的实现问题。

所以我想总结一下,您正在将苹果与橙子进行比较,也许这就是混淆的来源。它们用于解决不同的问题。

对我而言,操作意味着 java 中的方法,因此操作由抽象定义或声明,但在类本身中实现。所以是的,抽象只是声明操作在行为方面可以做什么,但实际的实现是在类中完成的。另外,抽象工厂也是正确的。

我想桥的定义部分是它可以有一组不同的抽象而不是一个抽象。

设计模式使用抽象这个词来指代依赖于一组抽象操作的类,其中可以对一组抽象操作进行多种实现。

有关详细信息,请参阅以下链接:

Using Abstractions and the Bridge Pattern in Java

Wikipedia: Bridge_Pattern

Bridge Pattern in Java

The Bridge Pattern Design Pattern

关于java - 抽象工厂模式与桥接模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7700854/

相关文章:

java - log4j2.xml 文件在 MDC 中设置了 KeyValuePair。如果未设置键,我们如何从日志行中完全省略该值?

java - 使用Iterator模式对n叉树进行前序/后序迭代遍历

c++ - 处理请求的策略设计模式

design-patterns - GoF 设计模式 Bridge/Adapter/Decorator

ios - 为什么我的 React Native 桥接 iOS 组件不起作用?

ubuntu - QEMU - 无法在访客和主机之间连接,但两者都连接到路由器

java - java转xml和java转json jar的命名约定解释

java - Poi api XSSFWorkbook 表类型转换异常

Java设计模式代码解释

design-patterns - 状态模式和守卫