桥梁模式( Bridge Pattern)

        文档地址:《设计模式之禅》​​​​​​​

        切入故事: 我有一个梦想……

        定义: Decouple an abstraction from its implementation so that the two can vary independently.(将抽象和实现解耦, 使得两者可以独立地变化。 )

        通用类图:

                桥梁模式( Bridge Pattern)_第1张图片

                 ● Abstraction——抽象化角色

                        它的主要职责是定义出该角色的行为, 同时保存一个对实现化角色的引用, 该角色一般是抽象类。

                ● Implementor——实现化角色

                        它是接口或者抽象类, 定义角色必需的行为和属性。

                ● RefinedAbstraction——修正抽象化角色

                        它引用实现化角色对抽象化角色进行修正。

                ● ConcreteImplementor——具体实现化角色

                        它实现接口或抽象类定义的方法和属性。

 

                * 抽象角色引用实现角色,或者说抽象角色的部分实现是由实现角色完成的。

        优点:

                 ● 抽象和实现分离

                 ● 优秀的扩充能力

                 ● 实现细节对客户透明

        使用场景:

                 ● 不希望或不适用使用继承的场景

                 ● 接口或抽象类不稳定的场景

                 ● 重用性要求较高的场景

        注意事项:

                 桥梁模式的意图还是对变化的封装, 尽量把可能变化的因素封装到最细、 最小的逻辑单元中, 避免风险扩散。 因此在进行系统设计时, 发现类的继承有N层时, 可以考虑使用桥梁模式。

        

你可能感兴趣的:(设计模式)