封装的目的
- 定义变量不会污染外部
- 能够作为一个模块调用
-
什么是好的封装
变量外部不可见
- 调用接口使用
-
封装对象时的设计模式
创建一个对象的模式
1、工厂模式-大批量的建造类似的内容
目的: 方便我们大量创建对象
应用场景:当某一个对象需要经常创建的时候。比如分页中的每一页都是一个对象, 弹框
基本结构:function Factory(type){switch(type){case "type1":return new Type1();case "type2":return new Type2();case "type3":return new Type3();}}
工厂模式就是写一个方法,只需要调用这个方法,就能拿到你要的对象
2、建造者模式-精细化构建思想
目的:需要组合出一个全局对象
应用场景: 当要创建单个、庞大的组合对象时。比如:轮播图
基本结构: ```javascript //模块1 function Mode1(){
} //模块2 function Mode2(){
} //最终的使用类 function Final(){ this.mode1 = new Mode1(); this.mode2 = new Mode2(); }
- 把一个负责的各个部分拆分成独立的类,然后再在最终类里组合到一块,final为最终给出去的类<a name="3OAeH"></a>## 保障对象只有一个<a name="AFYjx"></a>### 1、单例模式目的: 需要确保全局只有一个对象<br />应用场景: 为了避免重复新建,避免多个对象存在互相干扰<br />基本结构```javascriptlet Singeton = function(name){this.name = name;}Singeton.getInstance = function(name){if(this.instance){return this.instance;}return this.instance = new Singeton(name);}
