我刚刚学到了Bridge Pattern及其意图:从实现中去掉一个抽象,使两者可以独立变化.
但是为什么一个AbstractFactory不能做同样的事情呢?
我知道一个AbstractFactory可以创建一个特定的桥,但是我的问题涉及使用AbstractFactory而不是Bridge来解耦抽象和实现.
可以请你解释一下AbstractFactory和Bridge Pattern之间的真正区别吗?
解决方法
首先从我所读的桥梁模式,更多的是当课堂和它的作用有所不同时.类本身可以被认为是抽象的实现和类的行为.
另一方面,抽象工厂提供了一个用于创建相关或从属对象组的界面,而不指定其具体类;他们的实施问题.
所以我想总结一下,你正在比较苹果和橘子,也许这就是混乱来自哪里.他们是为了解决不同的问题.
对我来说,操作意味着java中的方法,所以操作是由抽象定义或声明的,而是在类本身中实现的.所以是的,抽象只是声明操作可以做什么就行为,但实际的实现是在类中完成的.此外,抽象工厂也是正确的.
我猜,桥梁的定义部分是它可以有一组与一个抽象不同的抽象.
设计模式使用单词抽象来指代依赖于一组抽象操作的类,其中抽象操作集的几个实现是可能的.
有关更多信息,请参阅这些链接: