• Javascript 常用设计模式


    转载自:https://blog.csdn.net/buptlyz/article/details/52018193

    单例模式(模块模式):确保始终只创建一个实例的对象时使用的设计模式。

    为什么需要采用单例模式?

    在服务器端语言中,您可能会使用单例处理数据库连接,这是由于为一个请求创建多个数据库连接纯粹是一种资源浪费。

    同样,在前端 JavaScript 中,您可能会希望将负责处理所有 AJAX 请求的某个对象设置为单例。

    规则非常简单: 如果每次创建新实例时,实例的功能均完全相同,那么将其设置为单例。

    var Single=(function(){
    //私有属性和特权方法
    var private_property=0; var private_method=function(){ console.log('this is private.'); } return { //返回一个对象字面量 prop:1, method:function(){ private_method(); return private_property; } } })(); console.log(Single.prop); console.log(Single.method());

    单例通常作为全局对象而存在的,不会把它传给函数。

    2.增强的模块模式:适用于单例必须是某类型的实例。

    var application=(function(){
      var private_variable=10;
      function private_methods(){
        return false;
      }
    
      var object=new Array();
      object.publicProperty=20;
      object.publicMethod=function(){
        private_variable++;
        return private_methods();
      }
      return object;
    })();
    
    console.log(application.publicMethod())

    3.工厂模式

    function createObject(name,age){
      var o=new Object();
      o.name=name;
      o.age=age;
      o.sayName=function(){
        console.log(this.name);
      }
      o.addYear=function(){
        console.log(++this.age);
      }
      return o;
    }
    
    var obj=createObject('alex',20);
    obj.sayName();
    obj.addYear();
  • 相关阅读:
    ASP中常用的服务器检测源代码
    dicsuzX表结构
    Flash AS3.0 加载外部资源(图片,MP3,SWF)的两种方式
    ASP快速获取远程文件大小的方法
    利用phpmyadmin修改mysql的root密码
    如何注册java程序为windows服务
    NSTimer
    ASP获得上个月、本月、下个月的第一天和最后一天的代码
    采集网页图片代码
    JS控制图片翻转代码,兼容firefox,ie,chrome等浏览器
  • 原文地址:https://www.cnblogs.com/ceceliahappycoding/p/10522996.html
Copyright © 2020-2023  润新知