Pale13's blog
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于

命令模式

##命令模式 定义命令模式(Command Pattern)又叫动作模式或事务模式。指的是将一个请求封装成一个对象,使发出请求的责任和执行请求的责任分割开,然后可以使用不同的请求把客户端参数化,这样可以使得两者之间通过命令对象进行沟通,从而方便将命令对象进行储存、传递、调用、增加与管理。命令模式是一种对象行为型模式。 命令模式就是对命令的封装,就是把一系列的操作写到一个方法中,然后供客户端调用就行
2023-10-15
计算机基础 > 设计模式
#计算机基础

中介者模式

中介者模式中介者模式(Mediator Pattern)是用来降低多个对象和类之间的通信复杂性。这种模式提供了一个中介类,该类通常处理不同类之间的通信,并支持松耦合,使代码易于维护。 通俗理解,把复杂的网状结构关系分离为星型结构关系。 中介者模式4种角色: 抽象中介者(Mediator)角色:抽象中介者角色定义统一的接口,以及一个或者多个事件方法,用于各同事角色之间的通信。 具体中介者(Con
2023-10-15
计算机基础 > 设计模式
#计算机基础

模板方法模式

模板方法模式模板方法设计模式是行为型设计模式中的一种,用在一个功能的完成需要经过一系列步骤,这些步骤是固定的,但是中间某些步骤具体行为是待定的,在不同的场景中行为不同,此时就可以考虑使用模板方法设计模式来完成,不同的场景对因不同的子类实现。 模板方法包含如下的角色: 抽象类/抽象模板(Abstract Class):负责给出一个算法的轮廓,由一个模板方法和若干个基本方法构成 模板方法(
2023-10-15
计算机基础 > 设计模式
#计算机基础

责任链模式

##责任链模式 责任链是一种行为设计模式,允许你将请求沿着处理者链进行发送。收到请求后,每个处理者均可对请求进行处理,或将其传递给链上的下个处理者。 责任链是由很多责任节点串联起来的一条任务链条,其中每一个责任节点都是一个业务处理环节。责任链模式(Chain ofResponsibility)允许业务请求者将责任链视为一个整体并对其发起请求,而不必关心链条内部具体的业务逻辑与流程走向,也就是说,请
2023-10-15
计算机基础 > 设计模式
#计算机基础

迭代器模式

迭代器模式迭代器模式是一种行为型设计模式,它提供了一种统一的方式来访问集合对象中的元素,而不是暴露集合内部的表示方式。简单地说,就是将遍历集合的责任封装到一个单独的对象中,我们可以按照特定的方式访问集合中的元素。 角色组成抽象迭代器(Iterator):定义了遍历聚合对象所需的方法,包括hashNext()和next()方法等,用于遍历聚合对象中的元素。具体迭代器(Concrete Iterato
2023-10-15
计算机基础 > 设计模式
#计算机基础

状态模式

状态模式有时一个对象的行为取决于一或多个动态变化的属性(状态),这样的对象称为有状态的(stateful)对象,其对象状态是从事先定义好的一系列值中取出。当这样的对象与外部事件产生互动时,内部状态就会改变,对象行为也随之变化。 在UML中可以使用状态图来描述对象状态的变化。在状态模式中,创建表示各种状态的对象和一个行为随着状态对象改变而改变的 context 对象。 架构 Context:环境类
2023-10-15
计算机基础 > 设计模式
#计算机基础

滑动窗口的最大值

239. 滑动窗口最大值 - 力扣(LeetCode)给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 示例 1: 1234567891011输入:nums = [1,3,-1,-3,5,3,6,7], k = 3输出:[3,3,5,5,6,7]解释:滑动窗口
2023-10-13
算法 > 队列和栈
#算法

前K个高频元素

347. 前 K 个高频元素 - 力扣(LeetCode)给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。 示例 1: 12输入: nums = [1,1,1,2,2,3], k = 2输出: [1,2] 示例 2: 12输入: nums = [1], k = 1输出: [1] 提示: 1 <= nums.lengt
2023-10-13
算法 > 队列和栈
#算法

逆波兰式求值

150. 逆波兰表达式求值 - 力扣(LeetCode)给你一个字符串数组 tokens ,表示一个根据 逆波兰表示法 表示的算术表达式。 请你计算该表达式。返回一个表示表达式值的整数。 注意: 有效的算符为 '+'、'-'、'*' 和 '/' 。 每个操作数(运算对象)都可以是一个整数或者另一个表达式。 两个整数之间的除法总是 向
2023-10-10
算法 > 队列和栈
#算法

压缩算法

123456789101112131415161718192021222324252627282930313233343536import java.util.*;public class Main{ public static void main(String[] args){ Scanner in = new Scanner(System.in)
2023-10-10
算法 > 队列和栈
#算法
1…1112131415…43

搜索

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