您的位置:首页 > 其它

Bridge桥接模式(设计模式11)

2015-09-16 19:34 441 查看
在没有使用桥接模式:

扩展新问题(类归属膨胀问题)

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抽象类的类







内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: