zoukankan      html  css  js  c++  java
  • 大雷说单例

    大雷说单例:
    单例模式的定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点.
    看起来真的不好理解 不仅要知道何为类 何为实例 何为访问点.

    简单点说:类就是一个女朋友 实例就是把女朋友变成老婆 能够访问老婆的就只能是老公
    婚姻法规定:在中国一男人只能拥有一个老婆 也只有老公能够喊老婆 这就是单例 同时拥有两个老婆叫做重婚 就不符合单例的设计模式!!!!!!

    那如何来实例一个老婆呢?

    现在一起来创造唯一的老婆吧
    var createWife = (function () {
    var wife;
    return function () {
    if (!wife) {
    wife = document.createElement("div");
    wife.innerHTML = "世界上最漂亮的老婆";
    wife.style.display = "none";
    document.body.appendChild(wife);
    }
    return wife;
    }
    })();
    上面这个函数 在页面加载完成以后就是自动执行 返回一个wife对象
    然后每次去构建老婆的时候 就会检查老婆是否存在 如果存在就不能继续创造只能使用以前的老婆
    document.getElementById("btn").onclick = function () {
    var wife = createWife();
    wife.style.display = "block";
    }
    最后每次去调用该函数产生的老婆就是唯一的 页面也不会重复的去动态生成div 只会使用以前的div 老婆也就保证了唯一性;

    上面的例子能够保证创造老婆的唯一性 但是生活生成中唯一的东西太多了 如何让产生老婆这种事情多样化 这个多样化不是多个老婆 而是唯一的事物 比如: 唯一的老妈 唯一的老爸 唯一的女朋友(说甜言蜜语用) 唯一的对话框
    看代码的世界如何创造多样的唯一
    下面的两个方法创造了唯一的夫人和唯一的母后
    var createWife = function () {
    var wife = document.createElement("div");
    wife.innerHTML = "世界最好的老婆是艳艳熊";
    wife.style.display = "none";
    document.body.appendChild(wife);
    return wife
    }
    var createMom = function () {
    var mom = document.createElement("div");
    mom.innerHTML = "世界上最好的老妈是香香姐";
    mom.style.display = "none";
    document.body.appendChild(mom);
    return mom;
    }
    然后在专门做唯一事情的函数
    var getSingle = function (fn) {
    var obj;
    return function () {
    return obj || (obj = fn());
    }
    }
    最后通过函数专门来实现唯一的事情 实现美满家庭
    var wifeSingle = getSingle(createWife);
    var monSingle = getSingle(createMom);

    document.getElementById("btn").onclick = function () {
    var wife = wifeSingle();
    wife.style.display = "block";
    var mon = monSingle();
    mon.style.display = "block";
    }

  • 相关阅读:
    burp用命令行一键启动出现错误“a java exception has occurred”的解决
    fofa语法
    使用LaZagne获取各种密码
    获取网站ico图标以及使用shodan的http.favicon.hash方法搜同ico站点
    使用nmap-converter.py整理nmap导出的xml记录为xls文件
    使用wafw00f工具识别waf类型
    反射型XSS中的POST型复现
    锐捷统一上网行为管理与审计系统信息泄露漏洞复现(CNVD-2021-14536)
    软件工程 数组
    c语言4
  • 原文地址:https://www.cnblogs.com/leidc/p/7930270.html
Copyright © 2011-2022 走看看