javaScript---设计模式-封装与对象

目录

1、封装对象时的设计模式

2、基本结构与应用示例

2.1 工厂模式

2.2 建造者模式

2.3 单例模式


封装的目的:①定义变量不会污染外部;②能作为一个模块调用;③遵循开闭原则。

好的封装(不可见、留接口):①变量外部不可见;②调用接口使用;③留出扩展接口。

1、封装对象时的设计模式

模式

目的

应用场景

应用示例

创建一个对象的模式

工厂模式

方便大量创建对象

当某一个对象需要经常创建的时候

多彩的弹窗;页码;jQuery

建造者模式

需要组合出一个全局对象

当要创建单个、庞大的组合对象时

复杂的轮播图;编辑器插件;vue的初始化

保障对象只有一个

单例模式

需要确保全局只有一个对象

为了避免重复新建,避免多个对象存在互相干扰

全局数据储存对象;vue-router

2、基本结构与应用示例

2.1 工厂模式

基本结构:写一个方法,只需要调用这个方法,就能拿到想要的对象

工厂模式示例:

(1)多彩的弹窗:弹窗有多种,它们之间存在内容和颜色上的差异。

  1. jquery需要操作dom,每一个dom都是一个jq对象

2.2 建造者模式

基本结构:把一个复杂的类各个部分,拆分成独立的类,然后再在最终类里组合到一块。

建造者模式的示例:

  1. 编辑器插件,初始化时需要配置大量参数,而且内部功能很多。

把不同的模块拆分为不同的类,给类定义不同的方法;最后把不同的类组合在最终的使用类里。

  1. Vue的初始化:vue内部众多模块,而且过程复杂

2.3 单例模式

基本结构:通过定义一个方法,使用时只允许通过此方法拿到存在内部的同一实例化对象。

单例模式的示例:

  1. 写一个数据储存对象,全局储存者只能有一个,不然会需要进行同步,增加复杂度
  2. Vue-router需要保障全局有且只有一个,否则会错乱。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值