楼上有只喵
  • 首页
  • 归档
  • 分类
  • 标签
  •   
  •   

抽象工厂模式

1 概念1 定义在工厂父类定义一个创建对象的接口,而工厂子类则负责生成一组相关的对象。这些对象之间通常有某种关联或依赖关系。 抽象工厂模式适用于需要创建多个相关对象并确保它们之间的一致性的情况。 2 应用场景 客户端不依赖某个产品实例具体如何创建 强调一系列相关的产品对象一起创建使用 3 优缺点优点: 用户只需要关心产品所需工厂,无需关心创建细节 将一个系列的产品族统一到一起创建:抽象工厂模
2023-10-05
设计模式

工厂模式

1 概念1 定义工厂模式,又称工厂方法模式。在工厂父类定义一个创建对象的接口,而工厂子类则负责生成具体的对象。每个具体工厂类根据需要创建不同的对象,从而实现了对象的创建和使用的解耦。 类型:创建型 2 应用场景 创建对象需要大量重复代码 客户端不依赖某个产品实例具体如何创建 一个类通过子类来指定创建哪个对象 3 优缺点优点: 用户只需要关心产品所需工厂,无需关心创建细节 符合开闭原则 缺点:
2023-10-05
设计模式

代理模式

1 概念1 定义为对象提供代理,以控制对这个对象的访问 代理对象在客户端和目标对象之间起到中介作用 分类:静态代理和动态代理 2 应用场景 保护目标对象 增强目标对象 3 优缺点优点: 代理模式可以将代理对象和目标对象接耦,扩展性好 增强目标对象 缺点: 造成类数目增加 在客户端和目标对象间增加了一个代理对象,会导致请求速度变慢 增加系统复杂度 2 代码实现场景:发送邮件前进行额外的操作
2023-10-05
设计模式

状态模式

1 概念1 定义当一个对象内在状态改变时允许改变其行为。比如:停止状态下,不允许快进视频这个行为 类型:行为型 核心角色 环境类(Context):环境类是拥有状态的对象。它维护一个指向当前状态对象的引用,并将与状态相关的请求委托给状态对象进行处理。 抽象状态类(State):抽象状态类定义了一个接口,用于封装与环境对象相关的行为。它可以根据具体的状态进行具体的行为实现。 具体状态类(Concr
2023-10-04
设计模式

访问者模式

1 概念1 定义 它允许在不改变已有对象结构的情况下,定义对这些对象的新操作。 有两个核心角色: 访问者(Visitor):定义了可以对各种对象结构中元素进行的操作。它抽象出了可以对不同对象执行的操作,并通过不同的具体访问者来实现具体的操作逻辑。 元素(Element):定义了一个接受访问者的方法,使得访问者可以访问它的内部状态。元素可以是单个对象,也可以是对象的集合。 类型 : 行为型
2023-10-04
设计模式

责任链模式

1 概念1 定义责任链模式为请求创建了一个接收者对象的链。在这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者,依此类推。 类型:行为型 2 应用场景 一个请求需要多个对象中的一个或者多个进行处理 3 优缺点优点: 责任链可以动态组合 缺点: 责任链太长或者处理时间太长,影响性能 2 代码实现场景:发布一篇文章后,内容审
2023-10-04
设计模式

中介者模式

1 概念1 定义定义一个封装一组对象如何交互的对象 类型:行为型 2 应用场景 对象之间有复杂的通信关系:当对象之间的通信关系变得复杂时,使用中介者模式可以简化对象之间的交互,将复杂的通信逻辑转移到中介者中进行管理。 对象之间的耦合度较高:当对象之间的耦合度较高,彼此之间的依赖关系较为复杂时,可以使用中介者模式来解耦对象之间的关系,减少对象之间的直接依赖。 一对多的关系:中介者模式适用于一对多的关
2023-10-04
设计模式

命令模式

1 概念1 定义将请求或操作封装成一个对象,从而使不同的请求可以被异步、延迟、排队,或者记录下来以备撤销或重做等操作。 类型:行为型 2 应用场景 撤销/重做操作:当需要支持撤销和重做功能时,可以使用命令模式。命令对象可以记录操作的状态和参数,以便在需要时执行撤销操作 事务性操作:命令模式可以用于实现事务性操作,即一系列相关操作的执行要么全部成功,要么全部失败。通过将每个操作封装为一个命
2023-10-04
设计模式

备忘录模式

1 概念1 定义保存一个对象的某种状态,以便在适当的时候来恢复对象 类型:行为型 2 应用场景保存及恢复数据相关业务场景 3 优缺点优点: 为用户提供一种可恢复的机制 存档信息的封装 缺点: 资源占用 2 代码实现场景:网站上发布博客,支持暂存 123456789101112131415@Data@AllArgsConstructorpublic class Article {
2023-10-04
设计模式

观察者模式

1 概念1 定义定义了对象之间的一对多依赖。让多个观察者同时监听一个主题对象,当主题对象发生变化时,它的观察者都会收到通知并更新。 类型:行为型 2 应用场景关联行为场景。建立一套触发机制 3 优缺点优点: 支持广播通信 缺点: 观察者之间有过多依赖的话,会提高程序复杂度 使用需要注意,避免观察者和被观察者循环调用 2 代码实现场景:同学在网站上提出问题,老师收到通知 1234567891
2023-10-04
设计模式
1…7891011…28

搜索

Hexo Fluid
总访问量 次 总访客数 人