1 桥接模式:将抽象部分和它的实现部分分离,使不同的实现部分可以独立的变化。抽象部分可以理解为功能的整体描述,实现部分为不同类型的实现方式。
理解:实现系统可能有多角度分类,每一种分类有可能变化,把这种多角度分离出来,让他们独立的变化,减少他们之间的耦合。
作用:当实现系统可能有多角度分类的时候,每种分类都有可能有变化。如手机,手机分类可以按品牌,也可以按软件。
内容:每一种实现都是一种抽象类,主实现用设置函数与其他实现联系
原则:合成、聚合复用原则,尽量使用合成/聚合,尽量不要使用类继承。
其他:用继承关系的时候,一定是 IS-a 的关系时考虑使用,而不是任何时候都用。
2 demo 实现一个网上国内手机信息显示系统
手机可以按品牌显示,按软件类型显示。
手机抽象对象 ,实现包括品牌和软件两部分。将这两部分分离。
关键代码实现:
在手机品牌接口中,通过SetHandsetSoft完成聚合关系。
abstract class HandSetBrand
{
protected HandSetSoft soft;
//设置手机软件
public void SetHandsetSoft(HandsetSoft soft)
{
this.soft=soft;
}
}