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

    1.策略模式

    在问题发生之前,想好应对的方案。

    坦克的例子

    2.代理模式

    房东租房的例子

    网页加载的进度条

    代理   安全性

    3.单例模式

    就只有一个对象存在

    实例:

    const single =(function(){
    let status; //用它来存储状态
    let num =0;
    function init(){
    return{
    sayHello:function(){
    console.log("hello,world");
    },
    sayGoodBye:function(){
    console.log("再见");
    },
    setNum:function(){
    return num++;
    },
    getNum:function(){
    return num;
    }
    }
    }
    return{
    getStatus:function(){
    if(!status){
    status =init();
    }
    return status;
    }
    }
    })();

    // console.log(single);
    // console.log(single.getStatus());
    let info=single.getStatus();

    console.log(info.setNum());
    console.log(info.setNum());
    console.log(info.setNum());
    console.log(info.setNum());

    let info2=single.getStatus();
    console.log("------------"+info2.getNum());
    info2.setNum();
    console.log("=========="+info2.getNum())

    4.观察者模式

    发布 & 订阅

    一对多、一对一 都是存在发布和订阅的关系

     5.工厂模式

     就是将一些操作进行实例化封装

  • 相关阅读:
    遮罩层可滚动
    toggle函数
    48.判断文本中回车的数量
    47.输出26个字母
    46.@弹出点击次数
    44.@鼠标点击页面中的任意标签,alert该标签的名称
    43.对象深度克隆
    UIscrollView 多图滑动 frame与bounds的区别比较
    累却真心充实 杂感
    delegate
  • 原文地址:https://www.cnblogs.com/dongdong1996/p/11976910.html
Copyright © 2011-2022 走看看