设计模式-桥接模式

1 桥接模式:将抽象部分和它的实现部分分离,使不同的实现部分可以独立的变化。抽象部分可以理解为功能的整体描述,实现部分为不同类型的实现方式。

理解:实现系统可能有多角度分类,每一种分类有可能变化,把这种多角度分离出来,让他们独立的变化,减少他们之间的耦合。

作用:当实现系统可能有多角度分类的时候,每种分类都有可能有变化。如手机,手机分类可以按品牌,也可以按软件。

内容:每一种实现都是一种抽象类,主实现用设置函数与其他实现联系

原则:合成、聚合复用原则,尽量使用合成/聚合,尽量不要使用类继承。

其他:用继承关系的时候,一定是 IS-a 的关系时考虑使用,而不是任何时候都用。

2 demo 实现一个网上国内手机信息显示系统

手机可以按品牌显示,按软件类型显示。

手机抽象对象 ,实现包括品牌和软件两部分。将这两部分分离。

关键代码实现:

在手机品牌接口中,通过SetHandsetSoft完成聚合关系。

abstract class HandSetBrand

{

    protected HandSetSoft soft;

    //设置手机软件

    public void SetHandsetSoft(HandsetSoft soft)

    {

        this.soft=soft;

   }

}

原文地址:https://www.cnblogs.com/wwwfj/p/3227087.html