【软考】设计模式-桥接模式

桥接的本质是抽象与实现的分离,将实现独立出来让他们各自变化

 

大话设计模式上的桥接模式太过简单,小编带你从题中学桥接

 

看题:

欲开发一个绘图软件,要求使用不同的绘图程序回执不同的图形,以绘制直线和圆形为例,对应的绘图程序如图


【软考】设计模式-桥接模式

【软考】设计模式-桥接模式【软考】设计模式-桥接模式

【软考】设计模式-桥接模式

答案:

1Public Interface

为什么是Public Interface而不是abstractclass呢? 因为class V1Drawing implements Drawing{}这里用的是implements实现,实现的是接口,而抽象类用的是继承extends,而且抽象类中一定要有抽象方法

类实现接口,参数与方法名相同,方法体不同

 

2public void drawLinedouble x1,double y1,double x2, double y2

3public void drawCircledouble x, doubley, double r


为什么这里不是

public abstract void drawLinedoublex1, double y1,double x2, double y2

public abstract void drawCircledoublex, double y, double r

 

因为这两个方法都是有参数的

Publicabstract void方法名 (无参数)

 

4DP1.draw_a_cicle(x,y,r)

5DP2.drawcicle(x,y,r)

 

因为V1DrawingDP1V2DrawingDP2是依赖关系,被指向的一端可以做参数/返回值


【软考】设计模式-桥接模式


6public abstract void draw()

这就是抽象类中必须有抽象方法

【软考】设计模式-桥接模式


ShapeDrawing之间是聚合的关系,这句便是体现聚合关系的

【软考】设计模式-桥接模式




一道桥接小题,涉及到很多知识点,你懂了吗