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

访问者模式

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 概念1 定义给定一个语言,定义它文法的一种表示。并定义一个解释器,使用这个解释器来解释语言中的句子 类型:行为型 2 应用场景 可以将一个需要解释执行的语言中的句子表示为一个抽象语法树。 一些重复出现的问题可以用一种简单的语言来进行表 一个简单语法需要解释的场景。 3 优缺点优点: 语法由很多类组成,便于扩展 缺点: 语法 规则太多时,增加了系统复杂度 2 代码实现场景:定义表达式
2023-10-04
设计模式

策略模式

1 概念1 定义在策略模式定义了一系列算法或策略,并将每个算法封装在独立的类中,使得它们可以互相替换。通过使用策略模式,可以在运行时根据需要选择不同的算法,而不需要修改客户端代码。 类型:行为型 2 应用场景 一个系统需要动态在几种策略中选择一种 系统很多类,区别仅仅是行为不同 3 优缺点优点: 符合开闭原则 避免大量使用if…else, switch..case 提高算法的保密性和安全性
2023-10-04
设计模式

迭代器模式

1 概念1 定义提供一种方法,顺序访问一个集合对象中的各个元素,而又不暴露该对象的内部展示 类型:行为型 2 应用场景 访问一个集合的内容,而不暴露该对象的内部展示 为遍历不同的集合结构提供一个统一的接口 平时我们不太会自己写,因为已经有很多工具类写好了 3 优缺点优点: 分离了集合对象的存储和遍历行为,由迭代器进行遍历 缺点: 类的个数成对增加,需要新增迭代器类 2 代码实现场景
2023-10-04
设计模式

模版方法模式

1 概念1 定义定义一个算法的骨架,允许子类为一个或者多个步骤提供实现。 使子类在不改变算法结构的情况下,重新定义算法的某些步骤 类型:行为型 2 应用场景 一次性实现一个算法不变的部分,并将可变的行为留给子类实现 将各类中公共的行为抽取出来到一个公共的父类中,避免代码重复 3 优缺点优点: 提高复用性 提高扩展性 符合开闭原则 缺点: 类数目增加 增加系统复杂度 继承自身缺点,如果父
2023-10-04
设计模式
1…89101112…29

搜索

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