你好。桥 - 这是使用两个接口或抽象类(在描述的最简单版本中有 2 个)。在外部代码中,我们替换了实现它们的必要类。即在这方面,与同一个抽象工厂没有区别,只是抽象工厂生成对象,而Bridge描述了交互,抽象工厂描述了相同的行为,只是在创建家族的层面上的对象。
也就是说,我们可以说抽象工厂使用 Bridge 将抽象工厂和具体工厂分开 + 将抽象模块从其创建对象族的抽象模块与其具体实现分开。
这是真实的?
你好。桥 - 这是使用两个接口或抽象类(在描述的最简单版本中有 2 个)。在外部代码中,我们替换了实现它们的必要类。即在这方面,与同一个抽象工厂没有区别,只是抽象工厂生成对象,而Bridge描述了交互,抽象工厂描述了相同的行为,只是在创建家族的层面上的对象。
也就是说,我们可以说抽象工厂使用 Bridge 将抽象工厂和具体工厂分开 + 将抽象模块从其创建对象族的抽象模块与其具体实现分开。
这是真实的?
不,这些是完全不同的东西,这些模式没有任何联系。他们甚至根本不像。
抽象工厂生成一系列相关对象。
桥将接口与实现分开。但并不是所有将实现与接口分开的东西都是桥梁。桥是一种混凝土结构,允许它们被解开,以便它们可以独立改变。例如,如果抽象工厂的接口发生变化(出现新产品),那么它的所有实现都必须更改。