首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
前端精读周刊
黄子毅
创建于2021-05-10
订阅专栏
前端精读周刊。帮你理解最前沿、实用的技术。
等 759 人订阅
共264篇文章
创建于2021-05-10
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
精读《设计模式 - Strategy 策略模式》
Strategy(策略模式)属于行为型模式。 意图:定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换。本模式使得算法可以独立于使用它的客户而变化。 策略是个形象的表述,所谓策略就是方案,我们都知道任何事情都有多种方案,而且不同方案都能解决问题,所以这些方案可以相互…
精读《设计模式 - State 状态模式》
State(状态模式)属于行为型模式。 意图:允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。 简单来说,就是将 “一个大 class + 一堆 if else” 替换为 “一堆小 class”。一堆小 class 就是一堆状态,用一堆状态代替 if e…
精读《设计模式 - Observer 观察者模式》
Observer(观察者模式)属于行为型模式。 意图:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 拿项目的 npm 依赖举例子:npm 包与项目是一对多的关系(一个 npm 包被多个项目使用),当 npm 包发布新版…
精读《设计模式 - Memoto 备忘录模式》
Memento(备忘录模式)属于行为型模式,是针对如何捕获与恢复对象内部状态的设计模式。 意图:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。 其实备忘录模式思想非常简单,其核心是定义了一个 Memoto(…
精读《设计模式 - Mediator 中介者模式》
Mediator(中介者模式)属于行为型模式。 意图:用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显示地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。 前端开发中,最常用的 “数据驱动” 其实就最好的诠释了中介者模式。 按钮点击后,表单提交。按钮需…
精读《设计模式 - Interpreter 解释器模式》
Interpreter(解释器模式)属于行为型模式。 意图:给定一个语言,定义它的文法的一种表示,并定义一个解释器。这个解释器使用该表示来解释语言中的句子。 任何一门语言,无论是日常语言还是编程语言都有明确的语法,只要有语法就可以用文法描述,并通过语法解释器将字符串的语言结构化…
精读《设计模式 - Command 命令模式》
Command(命令模式)属于行为型模式。 意图:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤销的操作。 如果看不懂上面的意图介绍,没有关系,设计模式需要在日常工作里用起来,结合例子可以加深你的理解,下面我准备了三个例…
精读《设计模式 - Chain of Responsibility 职责链模式》
Chain of Responsibility(职责链模式)属于行为型模式。行为型模式不仅描述对象或类的模式,还描述它们之间的通信模式,比如对操作的处理应该如何传递等等。 意图:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着…
精读《设计模式 - Proxy 代理模式》
Proxy(代理模式)属于结构型模式,通过访问代理对象代替访问原始对象,以获得一些设计上的便捷。 意图:为其他对象提供一种代理以控制这个对象的访问。 如果看不懂上面的意图介绍,没有关系,设计模式需要在日常工作里用起来,结合例子可以加深你的理解,下面我准备了三个例子,让你体会什么…
精读《设计模式 - Flyweight 享元模式》
Flyweight(享元模式)属于结构型模式,是一种共享对象的设计模式。 意图:运用共享技术有效地支持大量细粒度的对象。 如果看不懂上面的意图介绍,没有关系,设计模式需要在日常工作里用起来,结合例子可以加深你的理解,下面我准备了三个例子,让你体会什么场景下会用到这种设计模式。 …
精读《设计模式 - Facade 外观模式》
Facade(外观模式)属于结构型模式,是一种日常开发中经常被使用到的设计模式。 意图:为子系统中的一组接口提供一个一致的界面,Facade 模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 如果看不懂上面的意图介绍,没有关系,设计模式需要在日常工作里用起来,结合例…
精读《设计模式 - Decorator 装饰器模式》
Decorator(装饰器模式)属于结构型模式,是一种拓展对象额外功能的设计模式,别名 wrapper。 意图:动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator 模式相比生成子类更为灵活。 如果看不懂上面的意图介绍,没有关系,设计模式需要在日常工作里用起来…
精读《设计模式 - Composite 组合模式》
Composite(组合模式)属于结构型模式,是一种统一管理树形结构的抽象方式。 意图:将对象组合成树形结构以表示 “部分 - 整体” 的层次结构。Composite 使得用户对单个对象和组合对象的使用具有一致性。 如果看不懂上面的意图介绍,没有关系,设计模式需要在日常工作里用…
精读《设计模式 - Bridge 桥接模式》
Bridge(桥接模式)属于结构型模式,是一种解决继承后灵活拓展的方案。 意图:将抽象部分与它的实现部分分离,使它们可以独立地变化。 桥接模式比较难理解,我会一步步还原该设计模式的思考,让你体会这个设计模式是如何一步一步被提炼出来的。 如果看不懂上面的意图介绍,没有关系,设计模…
精读《设计模式 - Adapter 适配器模式》
Adapter(适配器模式)属于结构型模式,别名 wrapper,结构性模式关注的是如何组合类与对象,以获得更大的结构,我们平常工作大部分时间都在与这种设计模式打交道。 意图:将一个类的接口转换成客户希望的另一个接口。Adapter 模式使得原本由于接口不兼容而不能在一起工作的…
精读《设计模式 - Singleton 单例模式》
Singleton(单例模式)属于创建型模式,提供一种对象获取方式,保证在一定范围内是唯一的。 意图:保证一个类仅有一个实例,并提供一个访问它的全局访问点。 前端代码本身在单机运行,创建的任何变量都是天然分布式的,不需要担心影响另一个用户。 后端代码是一对多的,分辨出哪些资源是…
精读《设计模式 - Prototype 原型模式》
Prototype(原型模式)属于创建型模式,既不是工厂也不是直接 New,而是以拷贝的方式创建对象。 意图:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 如果看不懂上面的意图介绍,没有关系,设计模式需要在日常工作里用起来,结合例子可以加深你的理解,下面我准…
精读《设计模式 - Factory Method 工厂方法》
Factory Method(工厂方法)属于创建型模式,利用工厂方法创建对象实例而不是直接用 New 关键字实例化。 理解如何写出工厂方法很简单,但理解为什么要用工厂方法就需要动动脑子了。工厂方法看似简单的将 New 替换为一个函数,其实是体现了面向接口编程的思路,它创建的对象…
精读《设计模式 - Builder 生成器》
Builder(生成器)属于创建型模式,针对的是单个复杂对象的创建。 意图:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 如果看不懂上面的意图介绍,没有关系,设计模式需要在日常工作里用起来,结合例子可以加深你的理解,下面我准备了三个例子,让你体会什…
精读《设计模式 - Abstract Factory 抽象工厂》
Abstract Factory(抽象工厂)属于创建型模式,工厂类模式抽象程度从低到高分为:简单工厂模式 -> 工厂模式 -> 抽象工厂模式。 意图:提供一个接口以创建一系列相关或相互依赖的对象,而无须指定它们具体的类。 如果看不懂上面的意图介绍,没有关系,设计模式需要在日常工…
下一页