设计模式的个人理解

说明:该文章是个人学习后的提炼和归纳总结,具有不完善性和一定错误见解。有错误和理解不对的地方,请大家多多指出来,如要学习设计模式,建议网上查找相相关完整资料或者看书。

一般来说:有24种常用设计模式。那什么是设计模式呢?设计模式就是前人在开发经验中,对一些常见套路的总结归纳。是一种编程思想的提现。对指导我们现在的代码规范和解题思路是很有指导性意义的。

那都有哪些设计模式呢:构造器模式,模块模式,单例,观察者,中介者,原型,命令,外观,工厂,Mixin混入,装饰者,享元,适配器,组合等····

首先对设计模式的使用场景做一个分类。

1:对某些方法的封装,平常公共方法库等,都可以采用如下设计模式。

    a,外观模式:就是把一个很复杂的方法,通过一个简单的API包装起来,这就叫外观模式。如:canves压缩图片的封装,拖拽事件的封装。

    b,适配器模式:顾名思义,就是把具有相同功能,但是使用方法不同的API封装起来,统一输出一个使用方法。如:ajax的封装,存在兼容性问题的封装

    c,组合模式:把多个相同方法,用一个API封装起来,统一调用。

    d,单例模式:限制只能实例化一个对象,防止多个实例被注册,写组件时比较常用。

    e,装饰者模式:就是一个构造函数,一个实例对象,重写实例对象上的一些方法,这个过程就叫装饰。

2:开始做项目时,全局设计API时使用,管理数据 

    a,享元模式:就是数据尽可能的共享同一个地址。

    b,命令模式:保护局部的状态,使只能通过特定的方法来访问该状态。如:redux中有类似实现,vuex不属于此实现,因为vuex可以自己更改state。

    c,观察者模式,也可以叫发布订阅模式,极为相似的2种设计模式。就是一个方法添加监听函数,一个方法触发所监听的函数。如:redux中 subscribe()方法就是发布订阅的实现

3:适合UI组件使用的设计模式。

    a,工厂模式:适合用来编写基础组件,就是公共组件UI的基础封装。
    b,混合模式:把全局方法绑定到需要的实例上面去。

转载于:https://my.oschina.net/u/3971746/blog/3026742

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值