码迷,mamicode.com
首页 > Web开发 > 详细

js的设计模式

时间:2017-12-04 00:06:44      阅读:255      评论:0      收藏:0      [点我收藏+]

标签:出现   size   function   解决方案   col   请求   font   结构   方便   

  起源:

 设计模式并非是软件开发中的专业术语。实际上‘模式’最早诞生于建筑学。20世纪30年代,哈佛大学建筑学博士和他的研究团队花了约20年的时间,

研究了为解决同一问题而设计出不同结构建筑,从中发现了那些高质量设计中的相似性,并且用‘模式’来指代相似性。

设计模式:在面向对象软件设计中针对特定问题的简洁而优雅的解决方案。

 单例模式:

  保证一个类只有一个实例,并提供一个访问它的全局访问点,如window对象。当我们单击登录按钮的时候,页面出现

一个登录浮窗,这个悬浮窗是唯一的,无论点击多少次登录按钮,这个浮窗都只会被创建一次,这个登录的浮窗就适合用单例模式创建。

        var CreateDiv=(function(){
                var instance;
                var CreateDiv=function(html){
                    if(instance){
                        return instance;
                    }
                    this.html=html;
                    this.init();
                    return instance = this;
                }
                CreateDiv.prototype.init=function(){
                    var div=document.createElement(‘div‘);
                    div.innerHTML=this.html;
                    document.body.appendChild(div);
                }
                return CreateDiv;
            })();
            var a = new CreateDiv(‘a‘);
            var b = new CreateDiv(‘b‘);
            console.log(a);
            console.log(b);
            a==b; // true

 

代理模式定义

    为一个对象提供一个代用品或占用符,以便控制对它的访问。很多明星都有自己的经纪人,比如开演唱会经纪人会代替明星细节和谈好薪酬之后

再跟明星签合同。即核心是当客户不方便直接访问一个对象或者不满足需要的时候,提供一个替身对象控制了这个对象的,替身对象对请求最初一些

处理之后再把请求转交给本体请求。

命令模式

  命令模式中的命令指的是一个执行某些特定事情的指令,有时候需要向某些特定事情的指令。常见的应用场景有时候需要向某些对象发送请求,

但是并不知道请求的接受者是谁,也不知道被请求的操作是什么。假如我们去快餐店,我们可以点餐取消餐,但是我们并不用关心厨师是谁,怎么做。

发布订阅模式

  发布订阅模式又称观察者模式,它定义对象间的一对多的依赖关系,当一个对象的状态发生改变时,所有依赖它的对象都将得到通知。现实生活中,

如我们去售楼中心,服务人员A接待了我们,然后再有客户找到A,这个时候暂时没房了,等到有房的时候不可能服务人员A挨个打电话通知,而是订阅A的

公共服务提醒。

 

js的设计模式

标签:出现   size   function   解决方案   col   请求   font   结构   方便   

原文地址:http://www.cnblogs.com/xumqfaith/p/7967855.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!