定义:
将抽象与实现分离,使二者可以独立的变化
桥接模式和传统的依赖于接口,不依赖于实现的模式(即通过继承的方式实现功能)有区别。
通过继承的方式实现功能
当俩个类组群自建,关系呈现出交叉组合的情况,采用继承的方式实现就会产生如下的情况,每个实现都需要新派生出一个子类来进行重写实现。
通过桥接的方式实现功能
通过桥接的方式来实现,则是先把俩个组群的顶层抽象出来,然后在顶层包含引用,子类去调用另外一个组群的实现,实现了“抽象接口”和“实现接口”俩个部分,在抽象接口的实现类现在依赖“实现接口”的接口来实现功能,而不是通过实现类的子类来实现
何时使用?
当俩个组群因为功能上的需求,需要连接合作,但是又希望俩个组群可以格子发展不受彼此影响的时候,就可以考虑使用桥接模式。
常见的使用情况
- 角色和载具,武器
- 角色和技能类型