基本的设计模式介绍--结构型模式

109 阅读1分钟

结构型模式

装饰器模式

装饰器模式:为对象添加新功能且不改变原有的结构和功能

对于装饰器模式可以理解为我们在使用手机时可以为它加上一个手机壳作为装饰,起到保护手机的作用但并不会影响手机原来的功能。下面代码是一个装饰器模式的举例

img7.png

img8.png

适配器模式

适配器模式:旧接口格式和使用者不兼容,中间加一个适配转换接口。

举一个生活中的例子你买一个显示屏只支持DVI接口但是你的电脑只有HDMI接口这时候就需要一个转接器来连接,这个转接器就是我们所说的适配器。下图代码就是简单的适配器模式的举例:

img9.png

img10.png

使用场景一般是用在封装旧接口

代理模式

代理模式:使用者无权访问目标对象,中间加代理,通过代理做授权和控制

举一个例子:小明喜欢小红,但是小明不好意思把礼物自己送给小红,所以就委托给小红的好闺蜜小绿,让小绿代替小明将礼物送给小红。这就是生活中一个简单的代理模式,实现如下图代码:

img11.png

img12.png

应用场景有:我们前端开发人员经常用的事件委托,ES6中的Proxy

img13.png

img14.png

这就是一个经典的明星代理案例