
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
项目场景:这种情况一般出现在使用 java 代码,通过 key 获取值获取不到,但是明明 redis 中也存有对应的 key 啊,比如:我 redis 中有 serialId 这个 key ,而且是有值的我在我自己的项目中通过封装好的工具类去获取该 key 的值示例代码如下:按理说,打印的值应该是 hasKey = true ,serialId = 10000 才对,但是打印结果确是false 和
场景描述:前不久,我在服务器上面装了一个 redis ,然后往里面存了一些数据,过一段时间去查看,发现我之前存的数据被删掉了,起初以为是数据过期了,redis 自动把这些删掉的,之后我又存入了一些永不过期的数据进去,可是过了一段时间之后去查看,这些数据还是被删掉了,对于一个刚入门不久的菜鸟而言,是一脸的懵逼,遇到问题就想办法去解决呗~,随后又重学了一遍 redis 的数据删除和淘汰策略,好像跟永不
命令模式将请求封装为对象,实现调用者与接收者的解耦。核心结构包括命令接口、具体命令、调用者和接收者。适用于需要参数化请求、支持撤销/恢复、队列化或日志化请求的场景。以智能家居遥控器为例,每个按钮对应一个命令对象(如开/关电视、开/关灯),遥控器只需调用命令接口,无需了解具体设备操作。该模式通过封装动作实现请求发起与执行的分离,提高系统灵活性和可扩展性。
模板方法模式是一种行为设计模式,它通过定义算法骨架并将可变步骤延迟到子类实现,来解决多个类具有相同流程但部分步骤实现不同的问题。该模式包含抽象模板类(定义算法框架和基本方法)和具体子类(实现可变步骤)两个核心角色,适用于需要统一控制流程但允许部分步骤自定义的场景。典型实现包括使用final修饰模板方法确保算法结构不被破坏,以及通过钩子方法提供扩展点。这种模式能有效减少代码重复,提高可维护性,符合开
在做前后端分离的项目时,很有可能会遇到这样一种情况:就是在游览器中请求后端的接口,出现了CORS error错误大概的意思就是:跨源资源共享(CORS)策略阻止了来自端口5173的前端应用对运行在端口8860的后端服务的请求。
中介者模式通过引入中介对象封装对象间的复杂交互,将网状结构转为星形结构,降低对象间的耦合度。该模式包含抽象中介者、具体中介者、抽象同事类和具体同事类四个角色,适用于对象间存在复杂网状交互关系的场景。以聊天室为例,用户通过中介者(聊天室)间接通信,避免直接相互引用。实现时,中介者持有所有同事对象引用并协调交互,同事对象仅与中介者通信。这种模式符合开闭原则和迪米特法则,使系统更易维护和扩展。典型应用包
备忘录模式摘要 备忘录模式是一种在不破坏封装性的前提下,捕获对象内部状态并在外部保存的设计模式。它通过三个核心角色实现: Originator(发起人):需要保存状态的对象,负责创建备忘录和从备忘录恢复状态 Memento(备忘录):存储发起人的内部状态快照 Caretaker(负责人):保管备忘录但不能操作其内容 该模式有两种实现方式: 白箱实现:备忘录状态对外公开,实现简单但封装性较弱 黑箱实
状态模式是一种行为设计模式,允许对象在内部状态改变时改变其行为。它通过将不同状态的行为封装到独立的状态类中,避免了复杂的条件判断语句。主要角色包括抽象状态接口、具体状态类、上下文类。适用于对象行为依赖于状态且状态转换复杂的场景,如订单流转、电梯控制等。实现时通过上下文持有当前状态引用,将行为委托给状态对象处理,状态切换由状态类内部触发。该模式提高了代码的可维护性和扩展性。
本文介绍了工厂模式中的简单工厂和工厂方法模式。简单工厂通过一个工厂类集中创建对象,但违背开闭原则;工厂方法模式将工厂抽象化,每个产品对应一个工厂类,更易于扩展。文章通过咖啡店的示例展示了两种模式的代码实现:简单工厂使用静态方法根据参数创建咖啡对象,而工厂方法模式为每种咖啡定义专门的工厂类。工厂模式的核心优势是将对象创建与使用分离,降低耦合度,其中工厂方法模式更适合需要频繁新增产品的场景。
适配器模式是一种结构型设计模式,用于解决接口不兼容问题。它通过转换接口使原本不兼容的类能够协同工作,包含类适配器(继承实现)、对象适配器(组合实现)和接口适配器(缺省实现)三种实现方式。类适配器通过继承被适配者,对象适配器通过持有被适配者引用,接口适配器则为接口方法提供默认实现。适配器模式适用于整合第三方库、遗留系统等场景,遵循"开闭原则"和"合成复用原则"







