在没有使用桥接模式:
扩展新问题(类归属膨胀问题)
1增加性的电脑类型,要增加每个品牌下面的类
2如果要增加一个新的电脑品牌,要增加美中电脑类型的类
违背单一职责原则:
· 一个类:联想笔记本,有两个引起这个类变化的原因。
bridge桥接模式:
品牌与类型是两个维度,要将其分开。通过一个Bridge桥连接两个属性
如本例中,将品牌设置为接口,通过实现这个接口,创建不同的品牌类
而在类型创建一个Computer抽象类,引入Brand(protected Brand brand;),
通过这个引入的brand作为bridge连接品牌和类型。
由此种类和品牌分开,相互独立。
增加新的种类,不影响其他对象那个,直接添加。
//品牌类:
创建一个Brand接口,通过实现该接口,
Lenovo,Dell实现Brand接口。
//computer 电脑的类型。
Computer是一个抽象类,因为Brand是一个接口,brand是抽象属性。
通过持有Brand对象是Computer具有品牌属性。protected Brand brand;
通过构造函数将Brand传进来。
通过集成Computer创建Desktop和Laptop类。
如果要增加新的品牌创建实现Brand接口的类
如果要增加类型:创建继承Computer抽象类的类