js的4种设计模式及Vue小结(1)

4种js设计模式

模块模式(module)

原型模式(prototype)

观察者模式(observer)

单例模式(singleton)

模块模式

模块模式是js种最被常用的设计模式,可以使特定部分的代码与其他部分的代码相对独立,通过松散的耦合支撑了良好的代码结构

可以解决的问题:1.封装---可以避免自身的状态和行为被其他模块获取2.模块应该是立即执行函数也就是闭包,闭包之外的代码不能获取这些私有变量,因为他们不在一个作用域

揭示模块设计模型

是模块设计模型的一个变种

目的:在保有封装的前提下,在返回的对象字面上暴露特定变量和方法

带来的问题(缺点)1.不能引用私有方法,给测试带来麻烦2.公共行为不可覆盖

二、原型设计模式(prototype)

原型设计模式依赖于js原型继承

原型模式主要用于在性能密集的条件下创建对象。

通过传递员是对象的克隆(浅客隆)来创建对象

例:执行数据库操作去创建一个对象,如果另一个应用要使用这个对象,只需要去克隆之前的那个对象即可不需要对这个数据库操作

如何去克隆一个对象构造器去实例化一个对象,使用prototype,绑定变量和方法

三 观察者模式

如果一个对象改变了,它会对依赖他的对象进行告知,告诉他有变化发生了

subject,observer,concret对象都是必要的对象。 subject包含了到observer和concret的引用,从而能够通知任何变化,observer是一个抽象的类,可以允许观察者实现通知的方法

缺点:当观察者增多的时候性能会有显著下降

单例模式

单例模式只允许单次实例化,单例模式组织了客户端创建多个实例,一个对象被创建了后,会返回自己的实例

Vue

Vue属于MV*架构模式

Vue准确说是MVC模式,

M:model(模型)

V:view(视图)

C(控制器)

MCV

也就是说model数据和view视图不能直接交互,需要中间环节也就是C(控制器)去实现数据体现在界面的桥梁

基本的写法

letvm=newVue({    el:'',data:{                  }    })

‘v-'是Vue的指令

API

Vue.extend:

使用Vue基础构造器,创建一个子类,参数是包含子类的对象

var test=Vue,extend({    tempalte:'

{{a}},{{b}}{{c}}

',    data:{        a:1,        b:2,        c:3    }})new test().$mount('#box')

vue.nextTick()

改变DOM后才会执行nextTick(function(){

})里的函数

vue.set(object,key,value)设置对象的属性 主要用于避开vue不能检测属性被添加的限制 触发视图更新

vue.delete(object,key)删除对象的属性

vue.directive注册或全局指令

//注册Vue.directive('test',{    bind:function(){},    insert:function(){},    updata:function(){},    componentUpdata(){},    unbind:function(){}})vardirTest=Vue.directive('test');

vue.filter过滤器

vue.filter('test',function(value){})varmyfilter=vue.filter('test')

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 工厂模式类似于现实生活中的工厂可以产生大量相似的商品,去做同样的事情,实现同样的效果;这时候需要使用工厂模式。简单...
    舟渔行舟阅读 7,826评论 2 17
  • Vue 实例 属性和方法 每个 Vue 实例都会代理其 data 对象里所有的属性:var data = { a:...
    云之外阅读 2,240评论 0 6
  • 这篇笔记主要包含 Vue 2 不同于 Vue 1 或者特有的内容,还有我对于 Vue 1.0 印象不深的内容。关于...
    云之外阅读 5,072评论 0 29
  • 原文链接:http://blog.csdn.net/zhangerqing http://www.cnblogs....
    孤独杂货铺阅读 1,527评论 0 3
  • 十一假期归来,校园里的树仿佛一夜之间披上黄色的外套。不由得感慨,秋天来咯。 从小就十分喜欢秋天这个季节,不燥热也不...
    爱能深刻无底阅读 403评论 0 1