自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 【设计模式】策略模式

策略模式是一种行为设计模式,它定义了一系列算法并封装为独立对象,使它们可以相互替换。该模式包含三个主要角色:Strategy接口定义算法行为,ConcreteStrategy实现具体算法,Context负责与策略交互。典型应用包括支付方式选择、排序比较器、折扣策略等场景。策略模式的优点在于算法可自由切换、避免条件判断、扩展性好,但会增加策略类数量。使用时应权衡复杂度,对于简单算法可能更适合条件语句。Spring框架的资源加载和JDK的Comparator都是策略模式的经典应用。

2025-06-01 02:27:57 471

原创 【设计模式】责任链模式

责任链模式是一种行为型设计模式,让多个处理器组成链条依次处理请求,直到有一个处理器处理为止。适用于多级处理、不确定处理顺序的场景,如审批流程、日志过滤等。主要角色包括抽象处理器、具体处理器和客户端。模式优点在于降低耦合、动态调整处理链,但可能带来调试困难和性能影响。典型实现如Spring Security过滤器链和日志系统。使用时应明确处理规则,避免链路过长,在需要灵活流程控制的场景特别适用。

2025-06-01 02:22:25 444

原创 【设计模式】组合模式

简化客户端代码,统一处理复杂和简单对象易于增加新类型的组件符合开闭原则很难限制组合中的组件类型使设计变得更加抽象确保树形结构确实需要统一处理注意组件接口的设计,不要过度抽象考虑是否需要父节点引用在遍历时注意性能问题避免在叶子节点中实现无意义的组合操作树形结构不明显的场景节点之间关系复杂,不是简单的包含关系需要频繁修改树形结构的场景。

2025-06-01 02:19:32 320

原创 枚举类型(软引用缓存)

通过将Enum中获取代码-描述的方法抽象化为一个工具类,可以有效避免重复的代码,并且提高代码的可读性和可维护性。同时,采用软引用缓存机制能够有效减少重复创建映射表的开销,提高程序的运行效率。

2025-05-31 23:58:24 1112

原创 【设计模式】装饰器模式

装饰器模式通过动态组合扩展功能,优于静态继承。以Java I/O中的BufferedInputStream为例,它通过内部缓存减少系统调用,提升性能。讲解装饰模式的四大角色(抽象组件、具体组件、抽象装饰者、具体装饰者)及实现原理,并以自定义字符统计装饰器CharNumberInputStream为例,演示如何扩展InputStream功能。该模式具有运行时动态扩展、组合灵活等优势,有效避免子类爆炸问题。

2025-05-31 21:57:55 525

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除