Java设计模式——桥接模式

桥接模式将抽象部分与实现部分解耦,允许两者独立变化。文章详细介绍了桥接模式的定义、结构、类图、实现过程、优缺点和适用环境。通过具体的例子展示了如何使用桥接模式减少类的数量,提高系统的可扩展性,同时解释了在何种场景下应该考虑使用桥接模式。
摘要由CSDN通过智能技术生成

桥接模式

定义

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

结构

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值