zoukankan      html  css  js  c++  java
  • 设计模式——单例模式

    用基本数据类型来描述一件事物,需要把每一个特性都当做单独的变量进行存储,这样的话,后面如果另外一件事物的特性和这一件一样了,就会把这一件的替换掉--->全局变量的冲突,后面的会把前面的覆盖掉

       var name = "A小伙伴";
        var age = 11;
    
        var name = "B小伙伴";
        var age = 15;
    
        console.log(name);//-->"B"
    

      

    出现了引用数据类型中的对象数据类型-->把描述同一件事物的所有属性都放在同一组下,而每一个对象都是一个单独的个体,即使两个对象的属性名一样也不会有任何的影响-->"单例模式"[其实就是一个普通的对象]
    person1不仅仅叫做对象名,也叫作"命名空间",单例模式就是把描述同一件事物的属性放在了同一个命名空间下,起到了分组的作用,避免全局变量之间的相互冲突

        var person1 = {
            name: "A小伙伴",
            age: 11
        };
    
        var person2 = {
            name: "B小伙伴",
            age: 15
        };
    
        console.log(person1.name);
        console.log(person2.age)
    

      

    用单例模式可以做什么?-->单例模式非常的重要,主要是应用单例模式可以构建最简易的模块化开发
    "模块化开发":把一个复杂的页面进行团队协作开发的时候,按照相关的功能区域,划分成多个模块,每一个团队成员负责一到两个模块,各自开发,开发完成后在进行合并-->提高了开发的效率、我们可以把对应的模块写成功能组件(插件),哪个页面用直接的引入进来即可,不需要重新开发了...
    例如:百度首页我们可以分为 天气、页卡、换肤、搜索、登录...模块

    多个模块间会存在一些核心的、公共的方法
    utils、tools...

    var utils = {
        getId: function () {
    
        }
    };


    在每一个命名空间下,我们一般都会增加一个init方法,这个方法是我们当前模块的入口,在入口的这个方法中,我们进行参数的初始化、内部的方法的指定调用、相关逻辑之间的协调...,我们也把init称之为当前整个命名空间的大脑

    var weatherModel = {
        show: function () {
            utils.getId();
        },
        setCity: function () {
    
        },
        init: function () {
            //在这里调用同一个命名空间下的方法,不需要些具体的名字(防止名字修改后,我们还需要一个个的修改),我们统一用this来代替即可
            //this-->weatherModel
            //weatherModel.show();
            //weatherModel.setCity();
            this.show();
            this.setCity();
        }
    };
    weatherModel.init();
    
    var cardModel = {
        show: function () {
    
        }
    };
    

      

  • 相关阅读:
    eclipse常用快捷键
    Sql server 问题诊断
    Oracle 表格大小分析
    VM虚拟机增加磁盘空间
    Linux搭建Nexus+Maven私人仓库
    Linux 下安装Git 版本管理工具 使用记录
    Jenkins 环境打建设 Linux
    Oracle 数据库用户表大小分析
    Windgb 其他常用命令
    Windbg 查内存占用
  • 原文地址:https://www.cnblogs.com/cataway/p/4996203.html
Copyright © 2011-2022 走看看