标签:设计模式

1JavaScript 设计模式有哪些?
本系列开始系统性的对 20 多种 JavaScript 设计模式进行简单概述,然后结合 ES6 类的方式来编写实例代码展示其使用方式。

什么是设计模式?

设计模式是软件设计中常见问题的解决方案,这些模式很容易重复使用并且富有表现力。

在软件工程中,设计模式(design pattern)是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案。它并不直接用来完成代码的编写,而是描述在各种不同情况下,要怎么解决问题的一种方案。面向对象设计模式通常以类别或对象来描述其中的关系和相互作用,但不涉及用来完成应用程序的特定类别或对象。—— 维基百科

有三种模式:创建型模式,结构型模式、行为型模式。

  • 创建型模式:解决与创建对象相关的问题。
  • 结构型模式:处理实体之间的关系,以及它们如何共同组成一个更大的结构。
  • 行为型模式:处理对象如何相互通信和交互。

设计模式系列文章:

1HTML、CSS、JavaScript、PHP、 MySQL 的学习顺序是什么?

关于这个问题,现在应该有新的认知,先回到问题本身,最佳的学习顺序应该是:

学习顺序

  1. HTML:HTML是构建Web页面的基础语言,学习HTML可以熟悉如何创建文本、图像、链接等基本内容,并且组织网页结构,这是WEB交互的基础,有了这个基础才能设计独特的交互效果。
  2. CSSCSS 是用来美化Web页面的样式表语言。通过CSS,可以控制文本、图像、背景、布局等各个方面的样式,让页面更加美观和易于阅读。掌握其基础,在现代WEB开发中建议不用原生 CSS ,而是使用 LESS、SASS 等,其具有变量、基础、函数组织能力可以更好的维护项目。
  3. JavaScript:JavaScript 是一种脚本语言,是用来控制Web页面的交互和动态效果,例如响应用户操作、验证表单、创建动画、处理数据等等。熟练掌握应该是前端开发者应该具备的技能,现代WEB开发中,更多的使用工程化框架来构建,如React、Vue等等。
  4. PHP:PHP是一种服务器端脚本语言,用来处理Web应用程序的数据和逻辑。通过PHP,你可以实现用户注册、登录、发送电子邮件、处理表单数据、连接数据库等功能。这是过去WEB开发架构中常见的后端服务开发技术,现阶段实际上有很多可替代的架构,如Next.js、Node.js、Go等等。
  5. MySQL:MySQL是一种流行的开源关系型数据库管理系统,用来存储和管理Web应用程序的数据。学习MySQL可以让你了解如何创建和管理数据库、存储和查询数据等。

上面提到的应该是过去WEB开发中比较常见技术架构,现在应该有更多的选择,如 HTML+CSS+JavaScript+Node.js+Mongodb;如果是React,则应该是 HTML+CSS+JavaScript+Next.js+Mongodb

当然不管那种技术架构,HTML+CSS+JavaScript 是基础,更高阶的可以往 HTML+CSS+TypeScript 的方向去。

除了上面的这些技能,对于开发者来说,建议掌握 Docker,过去对于开发者来说,环境的配置通常是比较繁琐的,就拿PHP来说,配置开发环境需要安装 Apache、PHP版本,存储需要安装 Mysql,如果掌握了 Docker ,环境配置就变得简单,并且不会污染自己本机的环境。

学习资料推荐

对于HTML和CSS,建议从模仿开始,去阅读一些开源代码和比较不错的HTML模版,从模仿这些模版开始。开始之前可以先看下基础的东西:

CSS权威指南(第四版)(上下册):国际公认的HTML、CSS和Web标准领域的专家全新力作。Web视觉呈现技术。全面阐述CSS的实现方式,深入分析全新的CSS规范。

对于JavaScript,就有很多的书籍,下面书籍自己都阅读学习过了,不多,书籍算是掌握基本功的重要途径,剩下主要提升就是 GitHub。

JavaScript 指南原书第7版犀牛书:在过去的十年中,Node.js 使得 JavaScript 编程可以在 web 浏览器之外进行,Node 的巨大成功意味着 JavaScript 现在也是软件开发人员最常用的编程语言。无论你是从零开始还是已经开始专业地使用 JavaScript,这本书都会帮助你掌握这门语言。

JavaScript程序设计 第4版 第四版 红宝石书:第4版涵盖ECMAScript 2019,全面、深入地介绍了JavaScript开发者必须掌握的前端开发技术,涉及JavaScript的基础特性和特性 。

数据结构与算法JavaScript描述:用JavaScript描述数据结构与算法的开山之作,汇聚了作者多年的实战经验。这本实战指南通过丰富的示例,向读者透彻讲解了在JavaScript环境下,如何通过一系列存储机制(包括链表、栈、队列和图)高效地达到编程目的。

除了阅读书籍阅读源代码外,还可以去刷刷算法题。

JavaScript设计模式与开发实践:设计模式是软件设计中经过了大量实际项目验证的可复用的优 秀解决方案,它有助于程序员写出可复用和可维护性高的程序。许多优 秀的JavaScript开源框架都运用了不少设计模式,越来越多的程序员从设计模式中获益,也许是改善了自己编写的某个软件,也许是更好地理解了面向对象的编程思想。

学习设计模式的目的是:为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。 设计模式使代码编写真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。