首页 > 代码库 > 第十五讲:桥接模式

第十五讲:桥接模式

技术分享

技术分享

技术分享


//违反了开放封闭的原则

//如果增加了一种发动机规格,Bus又要修改了.Car的代码也要修改.
//另外如果接口定义的发动机规格Bus没有,为了保持接口的统一性不得不给Bus一个空的实现.这也是非常不好的.

 


 

Car(抽象)持有Engine(发动机)(行为)的引用,这就是聚合.Car和Engine都有继承,它们也有封装.所以桥接模式使用了封装、聚合和继承.

技术分享

技术分享

Abstraction:抽象.  Car

RefinedAbstraction:  Bus和Jeep.

Implementor:行为  Engine(引擎).

ConcreteImplementorA:实际的行为.  2000cc/2200cc

ConcreteImplementorB:实际的行为.

技术分享

不是一定要先做Engine再做Car,它们之间是相互独立的.它们之间有一座桥,这座桥就是一个聚合.Implementor是斜写的,抽象类.

第十五讲:桥接模式