AbstractFactory Versus Bridge Pattern
我刚刚学习了
但是为什么一个江户不能做同样的事情呢?
我知道
你能解释一下
首先,从我所读到的桥接模式来看,更多的是当课堂和它所做的经常变化时。类本身可以视为实现,类的行为可以视为抽象。
另一方面,抽象工厂提供了一个接口,用于创建相关或依赖对象组,而不指定它们的具体类;它们的实现关注点。
所以我想总而言之,你是在比较苹果和桔子,也许这就是困惑的根源所在。他们是为了解决不同的问题。
对我来说,操作意味着Java中的方法,因此操作由抽象定义或声明,但在类本身中实现。所以是的,抽象只是声明操作在行为方面可以做什么,但是实际的实现是在类中完成的。此外,抽象工厂也是正确的。
我想Bridge的定义部分是它可以有一组不同于一个抽象的抽象。
设计模式使用抽象这个词来指代一个依赖于一组抽象操作的类,在这个类中,抽象操作组的几个实现是可能的。
有关详细信息,请参阅以下链接:
在爪哇中使用抽象和桥接模式
维基百科:桥接模式
爪哇桥梁模式
桥型设计模式
两者差别不大,我们无法比较。
抽象工厂是一种创造性的设计模式,它处理对象的创建。桥梁是一种结构设计模式,涉及到桥梁的类别结构和组成。
在桥接中,抽象和实现将独立变化。但是在抽象工厂中,如果更改抽象(接口),则必须更改客户机。
抽象工厂模式用例:
检查表:
桥型:
在以下情况下使用:
相关SE问题:
桥接模式是否将抽象与实现分离?
工厂模式和抽象工厂模式的基本区别是什么?
请看一下这篇JournalDev文章和SourceMaking文章,以深入了解各种设计模式。
对。它们是相似的。AF用于创建对象族。其中as桥更多的是关于行为的,并且允许算法和平台之间的松散耦合。
例如:假设我们使用ping和traceroute开发了一个网络诊断程序,不同平台上的命令是不同的。抽象工厂可用于获取任何平台的ping或traceroute实例。它不会就此结束。Bridge允许我们使用af返回的ping和trace命令开发更高级的算法。根据平台的不同,可以使用不同的ping和traceroute序列的算法可以使用Bridge模式从平台特定的实现细节中抽象出来。