zoukankan      html  css  js  c++  java
  • javascript----放大模式

    放大模式

    1.介绍放大模式降低模块之间直接的联系,降低耦合,当一个模块出现错误,不会影响另一个模块的功能

    // A模块的功能自己执行自己的代码
    
    function Moduel2 () {
    
        this.fn = function () {
            console.log('A模块功能执行')
        }
    }
    
    let A = new Moduel2()
    
    A.fn()
    
    
    
    // 此时有模块B想使用模块A的某些功能或者属性,但是我们要降低耦合不能直接去使用模块A,此时再定义一个闭包
    
    
    // 会返回一个新的模块A,并且在新的模块中定义了一个请求数据的方法
    let Moduel = (function (mod) {
    
            mod.getData = function () {
    
                return { data: [{ name: '小美' }, { name: '小兰' }, { name: '兰馨' }], code: 200, message: '获取成功' }
            }
            
            return mod
    })(Moduel2)
    
    
    
    
    function Moduel3 (name) {
    
        // 初始化一下新模块A
        this.mod = Moduel
    }
    
    
    // 调用模块A的或者数据方法,将数据渲染到页面上,充分的降低了模块之间的耦合度
    
    Moduel3.prototype.renderData = function () {
            let user = this.mod.getData()
            let li = null
            let fragment = document.createDocumentFragment()
            user.data.forEach(item => {
                li = document.createElement('li')
                li.innerHTML = item.name
                fragment.appendChild(li)
            })
            document.getElementById('list').appendChild(fragment)
    }
    
    let B = new Moduel3()
    
    B.renderData()
  • 相关阅读:
    DB设计原则
    英文地址[转]
    ICollection
    雅虎优化14条
    vue过滤器
    php中echo(),print(),print_r()之间的区别
    jQ中对attr()方法的理解
    浅析call和apply的不同
    浅析call和apply
    PHP是弱类型语言,自动转换,强制转换
  • 原文地址:https://www.cnblogs.com/zxuedong/p/12919840.html
Copyright © 2011-2022 走看看