设计模式的实际运用

做计划时方法论很重要,当要计划写代码时,可以想想是否符合已有的设计模式呢。我通过思考自己多年的项目经历,总结下用到(可能用到)的设计模式。增强自己后面的方法论套用,同时也分享下自己的经验。在网上找了篇《十四种常用设计模式》. 感觉有用的就拿过来分析下。分析如下:

  1. 工厂模式
    提供一个工厂方法,创建对象,可以在工厂方法体里,给对象添加默认属性和方法,减少重复代码。
  2. 装饰者模式
    没啥运用。promise对象直接可以通过then拼接promise,不知道算不算这种模式。
  3. 代理模式
    需要有个抽象接口,定义需要代理的方法。代理者实现这个接口,并作为成员变量的形式保存在被代理者的内部。被代理者需要调用代理的方式,就去调用代理者的方法。
    iOS开发里的创建TableView就用到了代理模式,列表的长度和列表项的内容都是代理者提供的。vue render方法应该是代理模式,代理了创建虚拟节点的任务。
  4. 适配器模式( Adapter )
    比如我有个需求:在小程序里获取一张图片的主颜色。刚好网上有个开源js库,能获取指定图片的主颜色。但是用到了canvas。小程序里的canvas和h5的canvas使用方式不一样,那么就可以封装个模块或者方法,通过小程序的canvas获取到图片数据,传给开源js库,获取主颜色。这样就能在小程序环境下使用了。
  5. 观察者模式
    vue的响应式数据就用了观察者模式。一些观察者(watcher)观察着数据一一对应的依赖(dep),数据变化通知依赖(dep),dep再通知到对应watcher,watcher做相应操作。
  6. 单例模式
    js中单例模式一般都用全局变量,或者闭包实现。
    我个人感觉能不用单例模式就不用单例模式,保证内存中的数据尽量都是当前页面或者任务需要的数据,减少冗余数据。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • vue理解浅谈 一 理解vue的核心理念 使用vue会让人感到身心愉悦,它同时具备angular和react的优点...
    ndxs2008阅读 24,199评论 2 18
  • 前言 Vue.js 的核心包括一套“响应式系统”。 “响应式”,是指当数据改变后,Vue 会通知到使用该数据的代码...
    NARUTO_86阅读 37,664评论 8 86
  • 摘要: 搞懂Vue响应式原理! 作者:浪里行舟 原文:深入浅出Vue响应式原理 Fundebug经授权转载,版权归...
    Fundebug阅读 5,499评论 0 9
  • 前言 Vue.js 的核心包括一套“响应式系统”。 “响应式”,是指当数据改变后,Vue 会通知到使用该数据的代码...
    world_7735阅读 959评论 0 2
  • 这方面的文章很多,但是我感觉很多写的比较抽象,本文会通过举例更详细的解释。(此文面向的Vue新手们,如果你是个大牛...
    Ivy_2016阅读 15,445评论 8 64