1、分离抽象实现:将抽象部分与他的具体实现部分进行分离,使他们都可以独立的变化、互不影响(解耦) 2、组合方式:通过组合的方式、建立两个类之间的关系,而不是继承
使用桥梁连接两个类,在两个类之间建立某种联系,可以通过继承,也可以通过组合,桥接模式采用组合,合成复用原则、推荐优先使用组合!
桥接模式和组合模式的区别
组合模式 更强调部分 与整体间的组合
-
桥接模式和适配器模式
共同点 都是让两个类配合工作
- 不同点 目的性不同,
适配器模式 是改变已有接口、让二者之前互相配合,目的是配合
桥接模式 分离抽象和具体的实现,目的是分离
class Speed{constructor(x, y){this.x = x;this.y = y;}run(){console.log('运动起来')}}class Color{constructor(color){this.color = color;}draw(){console.log('绘制色彩',this.color)}}// 桥接类-----球类class Ball{constructor(x, y, color){this.speed = new Speed(x, y);this.color = new Color(color);}init(){// 实现运动this.speed.run()// 实现绘制this.color.draw()}}let ball = new Ball(10,10,'red')ball.init()
