当前位置: 首页 > news >正文

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需要保障全局有且只有一个,否则会错乱。

http://www.lryc.cn/news/65771.html

相关文章:

  • 【消息中间件】kafka高性能设计之内存池
  • 创建型模式——单例(singleton)
  • 算法:迷宫问题
  • 聊聊并发编程的12种业务场景
  • MySQL执行顺序
  • 引领真无线耳机未来趋势,NANK南卡OE骨传导真无线耳机惊艳亮相
  • 5款写作神器,帮助你写出5w+爆款文案,好用到哭
  • 相交链表问题
  • [ubuntu] ax200网卡虚接,导致系统根目录占满而无法进入系统的奇葩问题
  • 本地字体库的引入方法
  • 7种优秀的导航菜单设计总结
  • Problem E. 矩阵游戏 (2023年ccpc河南省赛)
  • 数字孪生模型构建理论及应用
  • Vue面试题:30道含答案和代码示例的练习题
  • 2023-05-09 LeetCode每日一题(有效时间的数目)
  • 第三节课 Linux文件权限
  • 开发STC89C51系列单片机需要的单片机技术
  • 分布式键值存储是什么?(分布式键值存储大值)
  • 多线程(线程同步和互斥+线程安全+条件变量)
  • Flutter学习——开发Flutter需要的技能
  • SPSS如何进行因子分析和主成分分析之案例实训?
  • 图标字体与HTML转义字符:网页设计中的两个关键概念
  • Elasticsearch详解
  • 学习笔记(13)网络基础
  • LeertCode 134 加油站
  • python文件操作的基本流程
  • 1. 两数之和
  • 操作系统:06 进程通信
  • WRF模式
  • 2直接连接的网络与VLAN划分【实验】【计算机网络】