设计模式是在软件开发中,经过验证的,用于解决在特定环境下,重复出现的特定的问题的解决方案。

在编写JS代码的过程中,运用一定的设计模式可以让我们的代码更加优雅、灵活。

每个设计模式的构成如下:

1、模式名称:模式的一个好记的名字

2、环境和问题:描述在什么环境下,出现什么特定的问题

3、解决方案:描述如何解决问题

4、效果:描述应用模式后的效果,以及可能带来的问题

简单地说,模式就是一些经验,一套场景/问题+解决方案。

为什么要学习设计模式?

设计模式的种类较多,各个模式都有它对应的场景,不能武断地认为某个模式就是最优解决方案。

通过学习这些设计模式,让你找到“封装变化”、“松耦合”、“针对接口编程”的感觉,从而设计出易维护、易复用、扩展性好、灵活性足的程序。

通过学习设计模式让你领悟面向对象编程的思想(SOLID),到最后就可以抛弃设计模式。

把这些思想应用在你的代码中,写出高内聚、低耦合、可扩展、易维护的代码了。

此时已然是心中无设计模式,而处处是设计模式了。

这就是学习设计模式的目的。

常见的几种设计模式

单例模式

之所以叫做单例模式是因为它限定对于一个类,它他只允许有一个实例化对象。

经典的实现方式是,创建一个类,这个类包含一个方法,这个方法在没有对象存在的情况下,将会创建一个新的实例对象。

如果对象存在,这个方法只是返回这个对象的引用。

适配器模式

将一个类(对象)的接口(方法或属性)转化成客户希望的另外一个接口。

适配器模式使得原本由于接口不兼容而不能一起工作的那些类(对象)可以一起工作。

观察者模式

一个或者更多的观察者对一个被观察者的状态感兴趣,将自身的这种兴趣通过附着自身的方式注册在被观察者身上。

当被观察者发生变化,而这种便可也是观察者所关心的,就会产生一个通知,这个通知将会被送出去,最后将会调用每个观察者的更新方法。

当观察者不在对被观察者的状态感兴趣的时候,它们只需要简单的将自身剥离即可。

代理模式

把一个对象的访问交给另一个对象来操作。

为了保证当前对象的单一职责,而需要创建另一个对象来处理调用当前对象之前的一些逻辑以提高代码的效率,状态判断等。

模式并不是我们要追求的目标,我们的目标是写出有生气的代码,以有生气的代码为目标去写,你会发现有一些模式会自然而地出现在你的代码中。

这才是模式该用到的时候。

而且随 着你经验的增加,你会发现有一些新的模式自然产生,它与你用的语言,与你的所开发的应用,甚至与你的性格、信仰都有关系。

这时就你超越了大牛,拥有了你自己的模式语言,写出了具备无名特质的代码,踏上了属于你自己的编程永恒之道……

来源:千锋HTML5

常见的几种JavaScript设计模式相关推荐

  1. 常见的6种JavaScript设计模式

    常见的6种JavaScript设计模式 构造函数模式 /*** 构造一个动物的函数 */ function Animal(name, color){this.name = name;this.colo ...

  2. 16种JavaScript设计模式(中)

    简介 上文中介绍了学习设计模式前需要了解的一些基础概念和js的基础模式-原型模式,没看过的同学可以点这里,本章将介绍以下几种模式 单例模式 策略模式 代理模式 迭代器模式 发布订阅模式 命令模式 组合 ...

  3. 常见的四种数据库设计模式

    1.主扩展模式: 一般应用于提取不同类型的对象的共同特征.比如学校当中,对于上课而言分为 老师和学生,但对于食堂大妈或者门卫大爷而言,就看你是不是校内人员.这是一种包含 关系.即校内人员包括 学生.老 ...

  4. javascript 设计模式_开发者都应该了解的7种JavaScript设计模式

    你好,欢迎收听极客视点. JavaScript 中的设计模式指的是一些可重用的解决方案,这些方案适用于编写 JavaScript Web 应用程序时常见的一些问题.最近,全栈开发人员德文(Deven) ...

  5. javascript设计模式_开发者都应该了解的7种JavaScript设计模式

    你好,欢迎收听极客视点. JavaScript 中的设计模式指的是一些可重用的解决方案,这些方案适用于编写 JavaScript Web 应用程序时常见的一些问题.最近,全栈开发人员德文(Deven) ...

  6. JavaScript 常见的5种设计模式

    本文是自己学习 JavaScript 设计模式的笔记,整理了 JavaScript 常见的五种设计模式,并总结了相应的案例代码. 1. 装饰者模式 装饰者模式是指,在不改变对象自身代码的前提下,新增功 ...

  7. 7 种 Javascript 常用设计模式学习笔记

    7 种 Javascript 常用设计模式学习笔记 由于 JS 或者前端的场景限制,并不是 23 种设计模式都常用. 有的是没有使用场景,有的模式使用场景非常少,所以只是列举 7 个常见的模式 本文的 ...

  8. 【总结】1059- 图解常见的九种设计模式

    在软件工程中,设计模式(Design Pattern)是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案.根据模式的目的来划分的话,GoF(Gang of Four)设计模式可以分为以下 ...

  9. Java数组去重的多种方法,[Java教程]JavaScript常见的五种数组去重的方式

    [Java教程]JavaScript常见的五种数组去重的方式 0 2016-12-14 15:00:17 ▓▓▓▓▓▓ 大致介绍 JavaScript的数组去重问题在许多面试中都会遇到,现在做个总结 ...

  10. onpostexecute 中更新adapter 事变_Spring面试中常见的9种设计模式!

    一.简单工厂 又叫做静态工厂方法(StaticFactory Method)模式,但不属于23种GOF设计模式之一. 简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类. S ...

最新文章

  1. html div比例,我的前端组件 ---- 16:9固定宽高比例的div
  2. IoU 判断矩形区域重叠
  3. 做折线图的软件_三星Galaxy Labs,它由4个下层软件构成,各有其用
  4. C指针原理(33)-Ncurses-文本终端的图形
  5. 2019牛客暑期多校训练营(第六场)
  6. WiFi密码都不会破译​还想考清华?​
  7. 14个JavaScript代码优化技巧
  8. 系统描述符类型,段描述符类型和段描述符表
  9. 日益努力而后风生水起,送3本技术好书
  10. 曾经的那些绝世电脑高手们
  11. Win10下Pytorch的安装和使用[斗之力三段]
  12. MVC4 Model ValueProvider
  13. Bryntum Web JavaScript Components Crack
  14. Matlab实现图像识别(九)
  15. Check Exception or Uncheck Exception
  16. 小功能⭐️Unity动态更改 Scripting Define Symbols (宏定义)
  17. 计算机考试的话语,为考试加油的暖心句子 期末考试加油鼓励的话
  18. 无差别收保费,光大银行强制搭售保险被批 原本提供增信价值的融资性信保产品,被一众放贷机构和保险公司玩坏,最终异化成借款人难以承受的负担。 撰文 | 冬弥 出品 | 消费金融频道 保险公司与助
  19. PanGu STM32MP1开发环境搭建
  20. KEGG_cnetplot绘制基因—通路图(展示想要的通路)——R

热门文章

  1. 【仿人机器人】双足机器人行走碰撞模型:Passive g walking of a compass robot
  2. Linux虚拟机上的Scala安装
  3. HTML5如何把圆分成六等分,CSS八等分圆的实现示例_CSS教程_CSS
  4. 路由器自适应算法OSPF和RIP协议(通俗理解)
  5. matlab 8750h,实测结果表明:九代i7-9750H笔记本标压处理器较8750H提升不大
  6. 有没有可以搜索python程序的软件-有哪些可以搜Python题答案的APP
  7. icem不同的划分网格,但是质量差不多
  8. html表格行的悬停事件,jQuery实现HTML表格隔行变色及鼠标悬停变色效果
  9. Eureka工作原理
  10. 微信小程序前端编程踩过的坑实战记录