JavaScript设计模式与开发实践随笔(三)
2024-09-17 16:51:50
封装
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、 封装变化
通过封装变化的方式,把系统中稳定不变的部分和容易变化的部分隔离开来,在系统的演变过程中,我们只需要替换那些容易变化的部分,如果这些部分是已经封装好的,替换起来也相对容易。这可以最大程度地保证程序的稳定性和可扩展性。
最新文章
- ios语音识别
- chrome插件编写之新版hello world
- [maven] 使用Nexus创建maven私有仓库
- 经典排序算法---冒泡排序(Bubble Sort)
- CSS 初体验之Line-height
- ASP.NET 学习小记 -- “迷你”MVC实现(1)
- gif录制工具
- lua 基本
- Asp.net web服务处理程序(第六篇)
- php信用卡卡号验证函数
- [Oracle] Listener的动态注册
- ES 6 : Math对象的扩展
- 配置Server Side TAF
- Javascript高级程序设计笔记 <;第五章>; 引用类型
- Web/app端自动化测试对比
- 学习笔记——二叉树相关算法的实现(Java语言版)
- Luogu3825 NOI2017 游戏 2-SAT
- Codeforces Beta Round #25 (Div. 2 Only)
- shell脚本之基础
- springbatch---->;springbatch的使用(五)