桥接模式
意义:
将抽象部分与它的实现部分分离,使它们都可以独立地变化。
适用性:
- 你不希望在抽象和它的实现部分之间有一个固定的绑定关系。例如这种情况可能是因为,在程序运行时刻实现部分应可以被选择或者切换。
- 类的抽象以及它的实现都应该可以通过生成子类的方法加以扩充。这时Bridge 模式使你可以对不同的抽象接口和实现部分进行组合,并分别对它们进行扩充。
-
举例:
``` class A(object): def run(self, name): print(f”my name is:{name}”)
class B(object): def run(self, name): print(f”我的名字是:{name}”)
class Bridge(object): def init(self, ager, classname): self.ager = ager self.classname = classname
def bridge_run(self):
self.classname().run(self.ager)
if name == ‘main’: test = Bridge(‘李华’, ‘A’) test.bridge_run() test.ager = ‘Tome’ test.bridge_run() test.classname = ‘B’ test.bridge_run() test.ager = ‘李华’ test.bridge_run()
输出结果:
my name is:李华 my name is:Tome 我的名字是:Tome 我的名字是:李华 ```