brigde模式

来源:互联网 发布:信息安全数据 编辑:程序博客网 时间:2024/05/16 19:05

意图:将抽象部分与它的实现部分分离,使它们都可以独立变化。

抽象部分指的是事物在概念层次上的联系,实现部分指:抽象类的对象和用来实现抽象类的派生类的对象(而不是抽象类的派生类,这些派生类称为具体类)。

 

bridge模式是最难理解的模式之一,也是威力最大的模式。它与通常"用继承来处理特殊情况"相反,它遵循设计模式的两个要点:

1.发现关封装不同点

2.优先使用对象组合而不是类继承。

 

实现"为每种变化使用不同的适应性变化(继承)"到“将变化转移到使用或者拥有弯的对象中(组合)”的转变。

 

此模式适应于“一个抽象部分拥有不同的实现部分”的情况。如果我们的问题正好 符合这一点,我知道我们应该用BRIDGE模式,即使我们还不知道怎么付出使用它。“让抽象部分和实现部分独立 的变化”意味着我们可以在不改变实现部分的前提下为抽象部分增加新的内容。

 

发现什么发生变化在了解瓿领域的过程中问题一个有用的进步,在这个画图程序的例子中,我让一组变化点使用另一组变化点,这表明BRIDGE模式很有用。

 

bridge使用的面向对象的原则:

对象对自己负责:

抽象类:我用抽象类表示概念,在问题领域中,我实现拥有矩形和圆形,形状的概念仅仅存在于我的脑海中,这昆将矩形和圆形的概念捆绑在一起的手段。

通过抽象类进行封装: