前言
JavaScript设计模式大致可以分为三类,创建型,结构型,行为型,我也会按照这样的顺序进行学习并写文章记录。
1. 创建型模式封装了创建对象过程中的变化,它做的事情就是`将创建对象的过程抽离`
2. 结构型模式封装的是`对象之间组合方式的变化`,目的在于灵活地表达对象间的配合与依赖关系
3. 行为型模式则是`将对象千变万化的行为进行抽离`,确保我们能够更安全、更方便地对行为进行更改
面试官常常会问:你知道哪些设计模式?有没有在实战中使用过?看完这个系列,你就可以在面试官侃侃而谈。
设计模式的基本原则:软件实体(类、模块、函数)可以扩展,但是不可修改。
本文是这个系列的第一篇文章,主要学习的是工厂模式,将按照从易到难的顺序,从构造器模式到简单工厂模式,再到抽象工厂模式进行学习。
设计模式
为什么会出现设计模式?
我们开发一个业务,随着业务的不断迭代和扩展,代码量会变得无比庞大,逻辑也会变得非常复杂。这一点相信大家在工作中已经深有体会,如果不使用一些方法进行控制,那么最终会变得无法维护并且不可扩展。
而设计模式就是用来解决这些问题的,设计模式通过将变与不变分离,确保变化的部分灵活、不变的部分稳定,来帮助我们写出“健壮”的代码,保证代码的可扩展性和高维护性。
JavaScript 设计模式的原则
在JavaScript 设计模式中,主要用到的设计模式基本都围绕“单一功能”和“开放封闭”这两个原则来展开。接下来让我们了解一下这两个原则在设计模式中的实践。
构造器模式
需求:录入新员工信息
这个模式大家是非常熟悉的,我们平时使用的构造函数就是应用了构造器模式。像 User 这样当新建对象的内存被分配后,用来初始化该对象
的特殊函数,就叫做构造器。
function User(name , age, career) {this.name = namethis.age = agethis.career = career
}
在使用构造器模式的时候,我们本质上是去抽象了每个对象实例的变与不变
。每个对象都具备 name
、age
、