GOF23-桥接模式

一、桥接模式

定义:将抽象化和实现化脱耦,使得二者可以可以独立的变化。

其中有三个关键字抽象化、实现化、脱耦。

  • 抽象化:一组对象能够有相同的概念联系,那么我们可以使用一个类来描述,如果一些类具有相同的概念联系,那么我们可以使用一个抽象类来描述这就是抽象化,如果更复杂我们可以使用继承用父子来描述。
  • 实现化:一个类的实例就是这个类的实现化,也是这个类的父类的实现化。
  • 脱耦:强耦合在编译时就确定,弱耦合可以在运行时动态改变关联。在Java中继承是强关联,聚合是弱关联。

二、传统继承模式与桥接模式

当一个类存在两个维度的变化并且衍生出不同的类,比如车这个主体有引擎并且,车会有公交车、轿车、跑车等等、引擎有烧油、用电、用气的。

1.传统继承模式

当需要不同类型的汽车时继承方式会产生类似笛卡尔积数量的类。当要新增一种类型的车时,需要对引擎进行修改对维护和扩张都不利。

2.桥接模式

UML类图

此模式基本机构为两层抽象化角色(Car、Engine)和修正抽象化角色(Saloon、Bus、GasonlineEngine)。而Car和Engine存在组合的关系。

这个模式主要是理解概念,代码都很简单。

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章