前端设计模式——装饰者模式

装饰者模式(Decorator Pattern)是一种结构型设计模式,它允许你在不改变对象自身的基础上,动态地给一个对象添加额外的功能。在前端中,装饰者模式经常被用于扩展或修改组件的行为或样式。 JavaScript 中的装饰者模式可以通过以下几种方式实现: 1. 通过扩展对象的属性或方法来实现装饰 ...

前端设计模式——中介者模式

前端中介者模式(Mediator Pattern),用于将对象之间的通信解耦并集中管理。它通过引入一个中介者对象,将对象之间的交互转移到中介者对象中,从而避免对象之间直接相互通信。 在前端开发中,中介者模式常常被用于管理复杂的用户界面或组件之间的交互,比如 GUI 组件、聊天室、游戏等等。通过引入一 ...

前端设计模式——观察者模式

前端中的观察者模式(Observer Pattern),定义了对象之间的一种一对多的依赖关系,使得当一个对象状态发生改变时,所有依赖于它的对象都能够得到通知并自动更新。 在前端开发中,观察者模式常被用来实现组件间的数据传递和事件处理。比如,当一个组件的状态发生改变时,可以通过观察者模式来通知其他组件 ...

前端设计模式——发布订阅模式

JavaScript中的发布/订阅模式(Pub/Sub)是一种常用的设计模式。它允许在应用程序中定义对象之间的一对多的依赖关系,当一个对象的状态发生变化时,所有依赖于它的对象都会被通知和更新。 在发布/订阅模式中,有两种类型的对象:发布者和订阅者。发布者是事件的发出者,它通常维护一个事件列表,并且可 ...

创建型-单例模式

什么是单例模式 单例模式 (Singleton Pattern)又称为单体模式,保证一个类只有一个实例,并提供一个访问它的全局访问点。也就是说,第二次使用同一个类创建新对象的时候,应该得到与第一次创建的对象完全相同的对象。 简单的说就是保证一个类仅有一个实例,并提供一个访问它的全局访问点,这样的模式 ...

创建型:工厂模式-工厂方法、抽象工厂

简单工厂问题 简单工厂中我们通过参数来返回不同的产品对象,如果管理的对象过多,这个工厂函数会比较庞大,且当我们需要增加一个新的产品时,需要修改这个工厂方法,违反开闭原则(对拓展开放,对修改关闭)。 为了解决简单工厂模式的问题,出现了工厂方法模式。 解决简单工厂思路 简单工厂类图关系类似如下: 如上图 ...

前端设计模式——单例模式

单例模式是一种设计模式,它可以确保某个类只有一个实例,并提供一个全局的访问点来访问该实例,我们可以使用单例模式来管理全局状态和共享资源。 在JavaScript中,单例模式可以通过多种方式实现,以下是一些常见的实现方式: 1. 对象字面量 使用对象字面量可以轻松地创建单例对象,例如: const s ...

前端设计模式——工厂模式

前端中的工厂模式是一种创建对象的设计模式,它可以让我们封装创建对象的细节,我们使用工厂方法而不是直接调用 new 关键字来创建对象,使得代码更加清晰、简洁和易于维护。在前端开发中,工厂模式通常用于创建多个相似但稍有不同的对象,比如创建一系列具有相同样式和行为的按钮或者表单。 在实现工厂模式时,通常需 ...

创建型:工厂模式-简单工厂

定义 之所以叫简单工厂是因为真的非常简单,只要一个工厂(函数)就可以了,如果把被创建的对象称为产品,把创建产品的对象或者方法称为工厂,那么只需要传入不同的参数,就可以返回不同的产品(实例),这种模式就叫简单工厂模式。 简单工厂-餐馆点菜 工厂模式其实就是将创建对象的过程单独封装在一个工厂中。 它很像 ...

创建型:构造器模式

简介 构造器模式,也被称为建造者、生成器模式,是设计模式中比较容易理解的模式之一。 定义:将一个对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 定义不太容易理解,简单的说就是构造器模式中的对象的属性是通过一个构造器来设置的,最后返回一个不同属性的对象。 在js中我们在创建对象时可以 ...

设计模式与前端工程师

前端要不要学习设计模式 始终认为每个行业都有自己的特点,各自的专业性。一个开发工程师如果不知道电脑是哪些基本硬件组成,那么我们大概率都会认为这个人非常不专业。那么前端要不要学设计模式呢?设计模式跟前端有多大关系呢? 前端工程师首先是一个工程师,既然是一个软件工程师,那么类似设计模式、数据结构、网络相 ...

Java ”框架 = 注解 + 反射 + 设计模式“ 之 注解详解

Java ”框架 = 注解 + 反射 + 设计模式“ 之 注解详解 每博一文案 刹那间我真想令时光停住,好让我回顾自己,回顾失去的年华,缅怀哪个穿一身短小的连衣裙 和瘦窄的短衫的小女孩。让我追悔少年时代,我心灵的愚钝无知,它轻易地错过了我一生中本来 可以获得欢乐和幸福。 —————— 《平凡的世界》 ...