Java设计模式——桥接模式

桥接模式

定义

将抽象部分与它的实现部分解耦,使得两者都能够独立变化。

结构

Abstraction(抽象类)
用于定义抽象类的接口,通常是抽象类而不是接口,定义了一个Implementor(实现类接口)类型的对象并可以维护该对象,它与Implementor之间具有关联关系,它既可以包含抽象业务方法,也可以包含具体业务方法。(共有的方法可以包含实现的具体方法)。
RefinedAbstraction(扩充抽象类)
它扩充由Abstraction(抽象类)定义的接口,通常情况下它不再是抽象类而是具体类,实现了在Abstraction(抽象类)中声明的抽象业务方法,RefinedAbstraction(扩充抽象类)可以调用Implementor(实现类接口)中定义的业务方法(通过父类关联实现类接口获得,是桥接的基本)。
Implementor(实现类接口)
是定义实现类的接口,这个接口不一定要与Abstraction(抽象类)完全一致,事实上这两个接口可以完全不同。一般而言,Implementor(实现类接口)仅提供基本操作,而Abstraction(抽象类)定义的接口可能会做更多更复杂的操作。Implementor(实现类接口)对这些基本操作进行了声明,而具体实现交给其子类。通过关联关系,在Abstraction(抽象类)中不仅拥有自己的方法,还可以调用到Implementor(实现类接口)中定义的方法,使用关联关系替代继承关系(符合合成复用原则)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值