zoukankan      html  css  js  c++  java
  • JS 设计模式四 -- 模块模式

    概念

    模块模式的思路 就是 就是单例模式添加私有属性和私有方法,减少全局变量的使用。

    简单的代码结构:

    var singleMode = (function(){
        // 创建私有变量
        var privateNum = 100;
        // 创建私有函数
        function privateFunc(){
            // 实现自己的业务逻辑代码
        }
        // 返回一个对象包含公有方法和属性
        return {
            publicMethod1: publicMethod1,
            publicMethod2: publicMethod1
        };
    })();

    什么时候使用模块模式?

    如果我们必须创建一个对象并对某些对象进行初始化时,同时还要公开访问这些私有数据的方法,name这个时候我们就可以使用模块模式了。

    增强的模块模式

    增强的模块模式的使用场合是:适合那些单列必须是某种类型的实例,同时还必须添加某些属性或方法对其加以增强的情况。

    function CustomType() {
        this.name = "GaoSir";
    };
    CustomType.prototype.getName = function(){
        return this.name;
    }
    var application = (function(){
        // 定义私有
        var privateA = "privateA";
        // 定义私有函数
        function privateMethodA(){};
    
        // 实例化一个对象后,返回该实例,然后为该实例增加一些公有属性和方法
        var object = new CustomType();
    
        // 添加公有属性
        object.publicA = "publicA";
        // 添加公有方法
        object.publicB = function(){
            return privateA;
        }
        // 返回该对象
        return object;
    })();

    console.log(application.publicA);// publicA

    console.log(application.publicB()); // privateA

    console.log(application.name); // GaoSir

    console.log(application.getName());// GaoSir

     
  • 相关阅读:
    python-django-自定义分页
    self.user = serializer_field.context['request'].user KeyError: 'request
    无法ssh远程的解决办法
    关于put和patch区别的一篇文章
    一遍关于django rest framework serializer比较详细的笔记
    vim 简单配置(根据编程语言不同,自动缩进)
    django rest framework 的api返回html
    django rest frmaework jwt认证
    django 信号
    刘江的博客
  • 原文地址:https://www.cnblogs.com/gaosirs/p/10748852.html
Copyright © 2011-2022 走看看