知识卡片
桥梁模式的定义与四个角色
内容
桥梁模式将抽象和实现解耦,使两者可独立变化。四个角色:Abstraction抽象化角色 (持有实现角色引用);Implementor实现化角色(接口/抽象类,定义必需行为); RefinedAbstraction修正抽象化角色(引用实现角色修正行为);ConcreteImplementor具体 实现化角色(真正实现方法)。发散:模式骨架就是”持有引用”,配合 [[继承把两个变化维度锁死引出桥梁模式]]更好理解。
参考来源
- 位置:《设计模式之禅(第2版)》第29章《桥梁模式》29.2节(源文件:_epub-src/text/part0132.html)
- 结论依据:原文给出桥梁模式的标准定义"Decouple an abstraction from its implementation so that the two can vary independently",并逐一说明Abstraction/Implementor/RefinedAbstraction/ConcreteImplementor四个角色的职责,总结"抽象角色引用实现角色,或者说抽象角色的部分实现是由实现角色完成的"。
- 原始内容:将抽象和实现解耦,使得两者可以独立地变化……Abstraction——抽象化角色……同时保存一个对实现化角色的引用……Implementor——实现化角色……RefinedAbstraction——修正抽象化角色,它引用实现化角色对抽象化角色进行修正……ConcreteImplementor——具体实现化角色,它实现接口或抽象类定义的方法和属性。