<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[hraceo的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/hraceo</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; hraceo]]></copyright><item><title><![CDATA[5分钟实战掌握责任链模式(Chain of Responsibility Pattern)：从 “if-else 审批地狱” 到 “流水线式请求处理”]]></title><link>https://blog.youkuaiyun.com/hraceo/article/details/161774190</link><guid>https://blog.youkuaiyun.com/hraceo/article/details/161774190</guid><author>hraceo</author><pubDate>Mon, 08 Jun 2026 07:45:00 +0800</pubDate><description><![CDATA[本文介绍了责任链模式在电商订单审批场景中的应用。传统实现使用if-else硬编码审批逻辑，导致代码耦合、违反开闭原则、职责不单一等问题。责任链模式通过将每个审批人封装为独立处理者并形成链式结构，实现请求的传递处理，从而解耦发送者和接收者，支持动态调整流程。文章详细展示了责任链模式的核心结构、三大优势，并通过代码示例演示如何重构订单审批系统，最终实现灵活、可扩展的审批流程。]]></description><category></category></item><item><title><![CDATA[代理模式（Proxy Pattern）实战：从 “代码耦合泥潭” 到 “功能横切自如”，解锁业务增强的优雅姿势]]></title><link>https://blog.youkuaiyun.com/hraceo/article/details/154738503</link><guid>https://blog.youkuaiyun.com/hraceo/article/details/154738503</guid><author>hraceo</author><pubDate>Fri, 21 Nov 2025 07:45:00 +0800</pubDate><description><![CDATA[摘要 代理模式通过引入代理对象实现业务逻辑与增强功能的解耦，解决传统硬编码方式的代码污染问题。文章以电商订单系统为例，对比了传统实现与代理模式的差异，揭示了硬编码方式导致的4大痛点：代码耦合、扩展困难、复用性差和测试成本高。核心讲解了代理模式的3个角色（抽象主题、真实主题、代理）及其协作关系，并演示了静态代理的具体实现。通过代理模式，可以在不修改原有业务代码的情况下，灵活添加日志记录、权限校验等功能，提升代码的可维护性和扩展性。后续内容还将深入动态代理和Spring AOP的实现原理。]]></description><category></category></item><item><title><![CDATA[5分钟实战掌握享元模式（Flyweight Pattern）实：从 “内存爆炸” 到 “对象共享”，拯救千万级商品系统]]></title><link>https://blog.youkuaiyun.com/hraceo/article/details/154389412</link><guid>https://blog.youkuaiyun.com/hraceo/article/details/154389412</guid><author>hraceo</author><pubDate>Thu, 06 Nov 2025 07:45:00 +0800</pubDate><description><![CDATA[摘要： 享元模式通过共享细粒度对象减少内存占用，解决电商系统中商品规格对象重复创建的问题。传统实现为每个商品创建独立规格对象，导致内存爆炸和GC压力。享元模式将对象状态拆分为可共享的内部状态（如颜色、尺寸）和不可共享的外部状态（如商品ID），通过享元工厂管理共享对象。实战重构步骤包括：定义抽象享元接口、实现具体享元类、创建享元工厂，最终100万商品只需18个共享规格对象，内存占用降低99%，系统性能显著提升。该模式适用于存在大量重复对象的场景，如电商规格、游戏角色、字体样式等。]]></description><category></category></item><item><title><![CDATA[5分钟实战掌握外观模式(Facade Pattern)：给复杂系统装个 “一键启动”，从 “多步调用地狱” 到优雅封装]]></title><link>https://blog.youkuaiyun.com/hraceo/article/details/154194529</link><guid>https://blog.youkuaiyun.com/hraceo/article/details/154194529</guid><author>hraceo</author><pubDate>Sun, 02 Nov 2025 07:45:00 +0800</pubDate><description><![CDATA[摘要： 外观模式通过封装复杂子系统调用逻辑，为客户端提供统一简化接口。以电商下单场景为例，传统实现需客户端直接调用订单、库存、支付、物流4个子系统，存在耦合度高、异常处理繁琐等问题。外观模式引入门面类（如OrderFacade），将多系统交互细节封装在placeOrder()方法中，客户端只需调用单一接口即可完成完整流程，且子系统变更不影响客户端代码。该模式显著降低系统复杂度，提高代码复用性和可维护性。]]></description><category></category></item><item><title><![CDATA[5分钟实战掌握装饰器模式(Decorator Pattern)：从 “if-else 堆肥” 到订单优惠的 “动态穿衣术”]]></title><link>https://blog.youkuaiyun.com/hraceo/article/details/153183321</link><guid>https://blog.youkuaiyun.com/hraceo/article/details/153183321</guid><author>hraceo</author><pubDate>Wed, 15 Oct 2025 07:45:00 +0800</pubDate><description><![CDATA[摘要： 电商订单优惠逻辑常因叠加规则（满减、折扣、优惠券等）导致代码臃肿难维护。装饰器模式(Decorator Pattern)通过动态组合功能，解决这一问题，核心优势包括：1) 灵活组合优惠顺序（如满减→折扣→会员价）；2) 新增优惠不修改旧代码（符合开闭原则）；3) 解耦优惠逻辑（每个优惠独立类）。传统if-else实现存在开关爆炸、逻辑耦合等问题，而装饰器模式通过抽象组件（OrderComponent）、具体订单（BaseOrder）和可插拔的优惠装饰器（如FullReduceDecorator）等。]]></description><category></category></item><item><title><![CDATA[5分钟实战掌握组合模式(Composite Pattern)：从“树形结构地狱”到优雅遍历]]></title><link>https://blog.youkuaiyun.com/hraceo/article/details/152925268</link><guid>https://blog.youkuaiyun.com/hraceo/article/details/152925268</guid><author>hraceo</author><pubDate>Mon, 13 Oct 2025 07:45:00 +0800</pubDate><description><![CDATA[组合模式（Composite Pattern）通过统一接口处理树形结构中的容器节点和叶子节点，解决传统实现中节点类型割裂、扩展困难等问题。文章以电商商品分类为例，展示传统多层循环和if-else判断的痛点，并详细拆解组合模式的核心结构（抽象构件、叶子构件、容器构件）。通过重构后的代码，客户端无需区分节点类型即可递归遍历整个结构，新增节点类型时也无需修改现有逻辑，符合开闭原则。该模式显著简化树形结构的操作，适用于商品分类、组织架构等层级嵌套场景。]]></description><category></category></item><item><title><![CDATA[过滤器模式（Filter Pattern）实战：从复杂条件判断到优雅过滤]]></title><link>https://blog.youkuaiyun.com/hraceo/article/details/151965112</link><guid>https://blog.youkuaiyun.com/hraceo/article/details/151965112</guid><author>hraceo</author><pubDate>Tue, 23 Sep 2025 07:45:00 +0800</pubDate><description><![CDATA[文章摘要： 本文介绍了过滤器模式在对象筛选场景中的应用。针对传统if-else实现方式存在的代码臃肿、难以维护等问题，过滤器模式通过将每个筛选条件封装为独立对象，再组合成过滤器链执行，实现了灵活组合和开闭原则。文章以用户数据筛选为例，详细展示了过滤器模式的实现步骤：定义抽象接口、实现具体过滤器（状态、年龄、角色）、构建过滤器链，并提供了客户端调用示例。该模式特别适合需要动态组合多个筛选条件的业务场景。]]></description><category></category></item><item><title><![CDATA[桥接模式实战：解耦抽象与实现的优雅之道]]></title><link>https://blog.youkuaiyun.com/hraceo/article/details/149877559</link><guid>https://blog.youkuaiyun.com/hraceo/article/details/149877559</guid><author>hraceo</author><pubDate>Tue, 12 Aug 2025 08:00:00 +0800</pubDate><description><![CDATA[桥接模式是一种结构型设计模式，用于将抽象部分与实现部分分离，使两者可以独立变化。它通过组合代替继承，解决了多维变化场景下的类爆炸问题。在电商支付系统案例中，桥接模式将支付方式（微信、支付宝等）与通知渠道（短信、邮件等）解耦，使得N种支付方式和M种通知渠道只需N+M个类而非N*M个类。Spring框架中的JdbcTemplate也应用了桥接模式，分离了JDBC操作与数据源实现。该模式符合开闭原则，提高了系统的可扩展性和维护性。]]></description><category></category></item><item><title><![CDATA[适配器模式实战—让不兼容的接口协同工作]]></title><link>https://blog.youkuaiyun.com/hraceo/article/details/149799022</link><guid>https://blog.youkuaiyun.com/hraceo/article/details/149799022</guid><author>hraceo</author><pubDate>Mon, 11 Aug 2025 07:45:00 +0800</pubDate><description><![CDATA[适配器模式：解决接口不兼容的桥梁 适配器模式通过包装转换使不兼容接口协同工作，核心角色包括目标接口、被适配者和适配器。提供类适配器（继承）和对象适配器（组合）两种实现方式，后者更灵活。以支付系统为例，通过适配器统一支付宝和微信支付接口，使客户端无需关心具体实现。Spring MVC的HandlerAdapter也是典型案例，支持多种处理器统一调用。该模式优点包括解耦、复用性和扩展性，但可能增加系统复杂度。最佳实践建议优先使用组合、保持适配器单一职责，并提前规划接口规范。]]></description><category></category></item><item><title><![CDATA[原型模式实战：从 0 到 1 构建高性能对象克隆系统]]></title><link>https://blog.youkuaiyun.com/hraceo/article/details/149721028</link><guid>https://blog.youkuaiyun.com/hraceo/article/details/149721028</guid><author>hraceo</author><pubDate>Fri, 01 Aug 2025 07:45:00 +0800</pubDate><description><![CDATA[本文介绍了原型模式在Java中的实现与应用，重点解析了浅克隆和深克隆的区别及实现方式。通过电商订单复制系统的案例，展示了原型模式如何解决对象创建过程中的性能损耗和代码冗余问题。文章包含以下核心内容： 原型模式原理：通过克隆已有对象创建新对象，避免重复初始化过程 Java实现方式：使用Cloneable接口和Object.clone()方法 浅克隆与深克隆： 浅克隆仅复制基本类型字段，引用类型字段共享 深克隆通过嵌套克隆或序列化实现完全独立的对象复制 实战应用：在电商系统中，通过原型模式高效复制订单对象。]]></description><category></category></item><item><title><![CDATA[抽象工厂模式实战—构建灵活可扩展的支付系统]]></title><link>https://blog.youkuaiyun.com/hraceo/article/details/149348025</link><guid>https://blog.youkuaiyun.com/hraceo/article/details/149348025</guid><author>hraceo</author><pubDate>Fri, 01 Aug 2025 07:30:00 +0800</pubDate><description><![CDATA[摘要：支付系统中的抽象工厂模式应用 在电商支付系统中，抽象工厂模式可以有效解决多支付渠道的集成问题。该模式通过定义支付功能接口（订单、退款、查询）和渠道工厂（支付宝、微信），确保同一渠道的功能配套使用。相比传统if-else实现，抽象工厂模式降低了渠道耦合度，新增支付渠道时无需修改客户端代码，同时避免了跨渠道功能混用的业务风险。具体实现包含：1) 定义支付功能抽象接口；2) 实现各渠道具体产品；3) 创建渠道工厂类。这种设计提升了系统扩展性和维护性，符合开闭原则。]]></description><category></category></item><item><title><![CDATA[观察者模式实战及Spring事件机制实现（附全部代码）]]></title><link>https://blog.youkuaiyun.com/hraceo/article/details/148690595</link><guid>https://blog.youkuaiyun.com/hraceo/article/details/148690595</guid><author>hraceo</author><pubDate>Thu, 19 Jun 2025 08:00:00 +0800</pubDate><description><![CDATA[观察者模式是一种解耦对象间依赖关系的行为型设计模式，适用于事件驱动、数据更新通知等场景。通过主题与观察者的抽象交互，实现一对多的动态通信，支持灵活扩展。文章分析了观察者模式的优缺点：优点是高解耦、易扩展、支持广播通信；缺点是可能引发性能问题和循环依赖。通过网站公告通知管理员和用户的案例，对比了传统观察者模式实现与Spring事件机制两种方案。案例代码展示了主题注册、通知流程及Spring的事件监听实现方式，验证了模式的实用性。]]></description><category></category></item><item><title><![CDATA[工厂模式+策略模式消除 if else 实战]]></title><link>https://blog.youkuaiyun.com/hraceo/article/details/148160662</link><guid>https://blog.youkuaiyun.com/hraceo/article/details/148160662</guid><author>hraceo</author><pubDate>Thu, 19 Jun 2025 07:45:00 +0800</pubDate><description><![CDATA[工厂模式与策略模式的结合能够有效解决客户端与具体策略类之间的强耦合问题，并封装复杂的创建逻辑。单独使用策略模式时，客户端需要直接实例化具体策略类，导致代码重复和违反“迪米特法则”。通过引入工厂模式，客户端只需通过工厂获取策略实例，无需关心具体策略的创建细节，符合“依赖倒置原则”和“单一职责原则”。此外，这种结合支持动态切换策略，新增策略时只需扩展工厂和策略类，无需修改客户端代码，符合“开闭原则”。]]></description><category></category></item><item><title><![CDATA[提高5倍工作效率的IDEA插件，强烈推荐！！！]]></title><link>https://blog.youkuaiyun.com/hraceo/article/details/146347724</link><guid>https://blog.youkuaiyun.com/hraceo/article/details/146347724</guid><author>hraceo</author><pubDate>Thu, 24 Apr 2025 07:30:00 +0800</pubDate><description><![CDATA[在软件开发的征程中，提升开发效率是开发者们永恒的追求。而 IDEA 插件，无疑是达成这一目标的得力助手。本文将深入探索多款实用的 IDEA 插件，Jrebel&Xrebel + MybatisPlus extension、AI 编程助手插件、Alibaba Java Coding GuidelinesSonarQube、MyBatisX、MyBatis Log Free、Restful Tool和Maven Helper 等，通过对这些插件的介绍，为开发者解锁高效开发的新姿势。]]></description><category></category></item><item><title><![CDATA[二、IDE集成AI助手豆包MarsCode保姆级教学(使用篇)]]></title><link>https://blog.youkuaiyun.com/hraceo/article/details/145933994</link><guid>https://blog.youkuaiyun.com/hraceo/article/details/145933994</guid><author>hraceo</author><pubDate>Thu, 06 Mar 2025 08:00:00 +0800</pubDate><description><![CDATA[豆包MarsCode是由字节跳动推出的AI编程助手，集成于主流IDE（如VS Code、JetBrains），提供代码补全、错误修复、注释生成等功能，显著提升开发效率。智能补全技术：支持代码补全Pro，可预测用户后续编辑行为（如参数修改），并基于Git提交记录和上下文检索优化推荐准确性。多语言支持：覆盖几十种编程语言，适配传统开发者及跨语言AI编程用户需求。深度集成模型：接入高性能推理模型DeepSeek R1，优化复杂任务处理能力，同时提供代码解释与学习辅助，降低非技术用户门槛。]]></description><category></category></item><item><title><![CDATA[一、IDE集成AI助手豆包MarsCode保姆级教学(安装篇)]]></title><link>https://blog.youkuaiyun.com/hraceo/article/details/145929911</link><guid>https://blog.youkuaiyun.com/hraceo/article/details/145929911</guid><author>hraceo</author><pubDate>Thu, 06 Mar 2025 07:45:00 +0800</pubDate><description><![CDATA[IDE集成AI助手豆包MarsCode保姆级教学(安装篇),一看就会，一学就懂。]]></description><category></category></item><item><title><![CDATA[2023年统计局发布全国各省五级行政区划(包含mysql表设计，5级联动)]]></title><link>https://blog.youkuaiyun.com/hraceo/article/details/145778523</link><guid>https://blog.youkuaiyun.com/hraceo/article/details/145778523</guid><author>hraceo</author><pubDate>Wed, 26 Feb 2025 07:45:00 +0800</pubDate><description><![CDATA[2023年统计局发布全国各省五级行政区划(包含mysql表设计及全量数据，5级联动)]]></description><category></category></item><item><title><![CDATA[二、IDE集成DeepSeek保姆级教学(使用篇)]]></title><link>https://blog.youkuaiyun.com/hraceo/article/details/145694168</link><guid>https://blog.youkuaiyun.com/hraceo/article/details/145694168</guid><author>hraceo</author><pubDate>Tue, 25 Feb 2025 08:00:00 +0800</pubDate><description><![CDATA[总体而言，Deepseek堪称国内AI大模型中的佼佼者，以其卓越的兼容性和对众多IDE的广泛支持，为程序员们带来了前所未有的便捷。其核心功能更是丰富多彩，令人眼前一亮：代码解释功能让繁琐复杂的代码逻辑瞬间变得清晰明了；高效代码优化技术，精准剔除冗余，助力性能飞跃；一键生成单元测试，为代码质量筑起坚固防线；更有智能答疑解惑与模拟AI程序员辅助开发等实用功能，让编程之路更加畅通无阻。作为编程领域的得力助手，Deepseek无疑将大幅提升程序员的开发效率，成为每一位编程爱好者不可或缺编程利器。]]></description><category></category></item><item><title><![CDATA[一、IDE集成DeepSeek保姆级教学(安装篇)]]></title><link>https://blog.youkuaiyun.com/hraceo/article/details/145687122</link><guid>https://blog.youkuaiyun.com/hraceo/article/details/145687122</guid><author>hraceo</author><pubDate>Tue, 25 Feb 2025 07:30:00 +0800</pubDate><description><![CDATA[IDE集成DeepSeek保姆级教学(安装篇)，本篇介绍收费版安装及免费版本安装，一学就回，一用就懂。]]></description><category></category></item><item><title><![CDATA[二、通义灵码插件保姆级教学-IDEA(使用篇)]]></title><link>https://blog.youkuaiyun.com/hraceo/article/details/145546674</link><guid>https://blog.youkuaiyun.com/hraceo/article/details/145546674</guid><author>hraceo</author><pubDate>Mon, 10 Feb 2025 18:03:08 +0800</pubDate><description><![CDATA[在IntelliJ IDEA 中使用AI助手“通义灵码”保姆级教学]]></description><category></category></item></channel></rss>