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

在编写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. ABAP:为Table Control创建Context Menu
  2. 严谨技术支撑vs奔放客户的100个真实写真
  3. idea 写html js 热部署
  4. python迭代器使用_Python迭代器的用法
  5. 安装mysql5.7出现问题_安装mysql5.7.29遇到的问题
  6. loadrunner可用许可证
  7. Kelvin云层效果Ps笔刷
  8. 适用与IOS手机的python编辑器,让你不限空间,地点都能玩转pyhton代码 !...
  9. idea配置阿里格式化模板+注释模板
  10. 关于Tomcat和Servlet容器的小结
  11. 小白怎么入行网络安全?看这一篇就够啦!
  12. 华为2022年度伙伴奖项正式揭晓!恒驰信息荣获华为云GrowCloud优秀解决方案提供商奖
  13. icon图标 地址栏 收藏夹显示 代码
  14. 超级简单的Python爬虫教程,python爬虫菜鸟教程官网
  15. 有了TeamViewer,在家工作不是难事
  16. 使用Markdown和Latex写数学公式
  17. 汉语中的26种结构歧义
  18. 3500字长文讲透《CRM商机管理是什么》
  19. 用机器学习生成披头士的歌词 | 项目实战
  20. JAVA保险公司风险测评管理系统计算机毕业设计Mybatis+系统+数据库+调试部署

热门文章

  1. 关于 AI 边云协同解决方案的研究与讨论
  2. php dwg格式,dwg格式怎么打开 dwg格式打开的方法
  3. 设计分享 | 基于51单片机理解SG90舵机原理并用按键控制
  4. C# - [实践] 电子词典
  5. mysql pxc 使用_MySQL PXC集群安装配置
  6. mysql pxc搭建_MySQL(PXC)集群搭建
  7. 基于matlab的天线方向图
  8. 计算机开启远程桌面服务,远程桌面服务 教您开启远程桌面服务
  9. linux查看各端口号,端口如何查看linux的端口号
  10. 智慧产业园区综合解决方案