zoukankan      html  css  js  c++  java
  • JavaScript设计模式与开发实践随笔(三)

    封装

    1、 封装数据

    a)      只能依赖变量的作用域来实现封装特性,es6中可以通过symbol创建私有属性

    var myObject = (function(){
    
    var __name = 'sven'; // 私有( private)变量
    
    return {
    
    getName: function(){ // 公开( public)方法
    
    return __name;
    
    }
    
    }
    
    })();
    
    console.log( myObject.getName() ); // 输出: sven
    
    console.log( myObject.__name ) // 输出: undefined

    2、 封装实现

    封装不仅仅是隐藏数据,还包括隐藏实现细节,设计细节以及对象类型,例如slice我们只拿来使用就可以了而不用关心内部是怎么实现的。只通过暴露API来通信

    3、 封装类型

    封装类型是静态类型语言中一种重要的封装方式。对于 JavaScript 的设计模式实现来说,不区分类型是一种失色,也可以说是一种解脱。

    4、 封装变化

    通过封装变化的方式,把系统中稳定不变的部分和容易变化的部分隔离开来,在系统的演变过程中,我们只需要替换那些容易变化的部分,如果这些部分是已经封装好的,替换起来也相对容易。这可以最大程度地保证程序的稳定性和可扩展性。

  • 相关阅读:
    Java学习之Java历史版本
    小数的二进制转换
    cpp反汇编调试一
    理解 typedef 定义的函数指针
    mov 与 lea 区别
    asmlinkage的用法
    秒的换算:ms(毫秒),μs(微秒),ns(纳秒),ps(皮秒)
    Java字节码例子解析
    Go程序的一生是怎样的?
    Linux内核 hlist_head/hlist_node结构解析
  • 原文地址:https://www.cnblogs.com/wyongz/p/11319818.html
Copyright © 2011-2022 走看看