JavaScript常用设计模式

本文介绍了设计模式的概念及其分类,重点讲解了观察者模式、发布/订阅模式、工厂模式等常见模式,并探讨了它们的应用场景及优缺点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

设计模式

设计模式是一种在长时间的经验与错误中总结出来可复用的解决方案

设计模式主要分为三类:

创造型设计模式 : 专注于处理对象的创建

Constructor构造器模式、Factory工厂模式,Singleton单例模式、builder生成器模式

构造型设计模式 : 对象间组合,简历对象之间的关系

Decorator装饰者模式、Facede外观模式、Flyweight享元模式、Adapter适配器模式,Proxy代理模式

行为设计模式:简化和改善对象间的通信

Mediator中介者模式、Observer观察者模式

常用的设计模式

1、观察者模式

一个目标对象维持着一系列依赖于它的对象,将有关状态的任何变更自动通知观察者们。在观察者模式中,观察者需要直接订阅目标对象。观察者与目标对象之间有一定的依赖关系。

有4个重要的概念

1>目标对象(被观察者):维护一组观察患者,提供管理观察者的方法。

2>观察者:提供一个更新接口,用于收到通知时,进行更新

3>具体目标对象:代表具体的目标对象

4>具体观察者:代表具体的观察者

2、发布、订阅模式

发布订阅模式可以说是观察这模式的一种变体,一种实现。它使用一个主题/事件通道,介于发布者和订阅者之间,避免了发布者和订阅者之间的依赖关系。

3、工厂模式


 
工厂函数提供了一个通用的接口来创建对象,我们可以指定我们希望常见的对象类型,我们通知工厂函数需要什么类型的对象并提供对应的数据,返回对应的实例。

何时使用工厂模式

1>当我们的对象比较复杂的时候

2>当我们需要根据不同情况创建不同对象实例的时候

3>当我们需要创建许多相似对象的时候

缺点:使用不当会增加程序的复杂度

4、抽象工厂模式

抽象工厂模式,将对象的实现细节抽离出来。适用于需要和多种对象一起工作的场景。


 

5、单例模式

单体模式思想在于保证一个特定类仅有一个实例,意味着但当你第二次使用同一个类创建新对象时,应得到和第一次创建对象完全相同。(限制一个类只有一个实例化对象。)

6、中介者模式

中介者模式就是提供一个中心点给系统不同组件之间进行通信,降低系统组件之间的耦合程度。

//实现与发布/订阅模式类似

观察者模式和发布订阅模式专注于维护目标对象和观察者之间的关系,当主题对象发生变化时,通知所有对改主题感兴趣的观察者。而中介者模式的话,专注于限制对象的通信必须通过中介者来通信。两者都提倡耦合。

7、装饰者模式

装饰者模式,通过一个装饰类对现有动态添加行为,以及对原有行为进行装饰。

8、适配器模式

使用一个新的接口对现有的接口进行包装,处理数据与接口的不匹配

   感谢源码时代教学讲师提供此文章!  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值