摘要: 介绍 装饰者提供比继承更有弹性的替代方案。 装饰者用用于包装同接口的对象,不仅允许你向方法添加行为,而且还可以将方法设置成原始对象调用(例如装饰者的构造函数)。 装饰者用于通过重载方法的形式添加新功能,该模式可以在被装饰者前面或者后面加上自己的行为以达到特定的目的 当然这定义一般很难理解,我们从现实 阅读全文
posted @ 2021-11-08 08:55 自在一方 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 下面我们通过平时遇到的面试题继续巩固一下昨天学的单例模式。 描述 实现Storage,使得该对象为单例,基于 localStorage 进行封装。实现方法 setItem(key,value) 和 getItem(key)。 思路 首先我们单例模式最主要的就是有这么一个instance的东西,然后判 阅读全文
posted @ 2021-11-05 11:45 自在一方 阅读(364) 评论(0) 推荐(0) 编辑
摘要: 什么叫单例模式 在传统开发工程师眼里,单例就是保证一个类只有一个实例,实现的方法一般是先判断实例存在与否,如果存在直接返回,如果不存在就创建了再返回,这就确保了一个类只有一个实例对象。在JavaScript里,单例作为一个命名空间提供者,从全局命名空间里提供一个唯一的访问点来访问该对象。 单例模式的 阅读全文
posted @ 2021-11-03 08:38 自在一方 阅读(300) 评论(0) 推荐(0) 编辑
摘要: 抽象工厂模式(Abstract Factory),提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。——《设计模式:可复用面向对象软件的基础》 一上来就是一个高(bu)端(neng)大(li)气(jie)的定义。抽象工厂这块知识,对入行以来一直写纯 JavaScript 的同学可能 阅读全文
posted @ 2021-11-02 12:03 自在一方 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 前文提到过在实际开发中,不发生变化的代码可以说是不存在的。我们能做的只有将这个变化造成的影响最小化 —— 将变与不变分离,确保变化的部分灵活、不变的部分稳定。那么我们的设计模式的时候就是为了区分变和不变,本文通过一些例子去体验开发过程中随着需求变动,设计一个好的模式是多么重要。 ###简单讲一下构造 阅读全文
posted @ 2021-11-01 16:59 自在一方 阅读(72) 评论(0) 推荐(0) 编辑
摘要: 想做靠谱的开发,先掌握设计模式。 ##设计模式的学习之道 ##通过设计模式这一系列的学习,希望达到以下三个目的: 1.充分理解前端设计模式的核心思想和基本理念,在具体的场景中掌握抽象的设计原则。 2.会写代码,会写好代码; 3.在实际沟通时言(hui)之(chui)有(niu)物(bi) ##设计模 阅读全文
posted @ 2021-11-01 11:36 自在一方 阅读(136) 评论(0) 推荐(0) 编辑
摘要: #前言 Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru 站 点(俄文:Рамблер)开发的 它也是一种轻量级的Web服务器,可以作为独立的服务器部署网站(类 阅读全文
posted @ 2021-10-21 16:04 自在一方 阅读(883) 评论(0) 推荐(1) 编辑