我们常见的JavaScript运行时(runtime)有两个,一个是浏览器环境,一个是Node.js环境 JavaScript 事件循环机制分为浏览器和 Node 事件循环机...
设计准则和设计原则[https://www.jianshu.com/p/a1a87e4657ce]TS 设计模式01 - 工厂模式[https://www.jianshu.c...
1. 简介 一个对象去达到某个目的时可能会面临不同的选择,比如你想出去旅游,可以选择的交通方式有骑车,开车或者坐火车。这些交通方式的选择其实就是达成旅游目的的不同策略,选择哪...
1. 简介 前面介绍了观察者模式,就好比我们去点餐,通知服务员说,餐好了跟我说一下。那么服务员和顾客之间就形成了耦合,首先服务员得知道餐品好了以后通知那些顾客,其次,如果是多...
1. 简介 观察者模式是一种对象行为模式。它定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 2. 使用场景 当一个抽...
1. 简介 代理,顾名思义,就是替委托者处理事情。通过代理,客户不必要去接触真实的目标对象,转而去接触目标对象的代理,即可达成目的。 2. 代理模式 代理模式也叫做委托模式,...
1. 简介 在 oop 中,继承是实现多态最简单的方案。同一类的对象会有不同表现时,我们基于此基类去写派生类即可。但有时候,过度使用继承会导致程序无法维护。比如说,人有一个展...
1. 简介 笔记本实际上使用的是 12V 直流电,但是我们电源线是插在 220V 的交流电源上。我们不能把 220V 的交流电源直接改成符合要求的 12V 直流电源,因为不便...
1. 简介 单例模式的概念很简单,就是在整个程序中有且仅有一个实例。这种场景其实是很常见的,比如我们的程序中存放当前用户信息的类,就只有一个实例,这样从任何地方获取其中信息时...
1. 简介 工厂模式,为我们将客户端的生产行为封装起来,交给了工厂。它本质上是服务于客户端的,并没有降低产品生产的难度,产品的生产逻辑仍然在自己的类内部实现。对于一些复杂的产...
建造者模式概念 将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示,通常情况下建造者内部顺序是稳定的。由于建造者隐藏了具体创建过程,如果需要改变一个产...
1. 简介 工厂,在现实中是生产产品的地方。在 oop 中,就是生产对象的地方。其核心是封装一个生产(new)行为。 2. 简单工厂 假如现在你运营了一间餐厅,客人如果要喝饮...
简介 在学习具体的设计模式之前,首先有必要弄清楚我们学习的目的之所在。设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设...
简介 我们在代码中经常要对数据类型进行判断,大家熟知的应该是 typeof,那么它有什么不足,有没有其他方法来进行类型检测呢? 1. typeof JS 的值包括基本类型和引...
简介 8.1 开发测试 8.1.1 单元测试 8.1.2 选择单元测试用例 8.1.3 构件测试 8.1.4 系统测试 8.2 测试驱动的开发 8.3 发布测试 8.3.1 ...