设计模式
文章平均质量分 71
Java设计模式简述与代码实战
nlog3n
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java设计模式概览
Java设计模式概览学习原创 2025-04-02 17:26:28 · 1801 阅读 · 0 评论
-
责任链模式 Go 语言实战
例如,在一个复杂的电子商务平台中,订单处理流程可能会根据业务需求或用户类型进行动态调整。责任链模式是一种行为设计模式,它允许将请求沿着处理者链进行传递,直到有一个处理者能够处理它。这个模式的主要目的是解耦请求的发送者和接收者,使得多个对象都有机会处理这个请求,而不需要明确指定哪个对象处理请求。为了实现更通用的责任链模式,我们可以设计一个框架,使得责任链的构建和管理更加灵活。在这个系统中,订单需要经过多个步骤的处理,每个步骤都由一个处理者负责。我们可以使用责任链模式来动态地决定请求的处理者和处理顺序。原创 2025-07-01 15:43:59 · 871 阅读 · 0 评论 -
Java访问者模式详解
访问者模式(Visitor Pattern)表示一个作用于某对象结构中的各元素的操作,它使你可以在不改变各元素类的前提下定义作用于这些元素的新操作。原创 2025-04-03 10:57:44 · 367 阅读 · 0 评论 -
Java模板方法模式详解
模板方法模式(Template Method Pattern)定义一个操作中的算法骨架,将某些步骤延迟到子类实现。原创 2025-04-03 10:54:27 · 698 阅读 · 0 评论 -
Java策略模式详解
策略模式(Strategy Pattern)属于行为型模式,它定义了一系列算法,并将每个算法封装起来,使它们可以相互替换。原创 2025-04-03 10:48:28 · 674 阅读 · 0 评论 -
Java 状态模式 详解
状态模式原创 2025-04-03 10:13:55 · 770 阅读 · 0 评论 -
Java观察者模式详解
观察者模式原创 2025-04-03 09:47:05 · 491 阅读 · 0 评论 -
Java备忘录模式详解
需要提供撤销/重做功能需要保存对象历史状态需要实现事务回滚机制需要保存系统快照文本/图像编辑软件游戏存档系统数据库事务管理系统配置管理工作流状态保存正确使用备忘录模式可以实现灵活的状态管理,但需要注意内存和性能方面的考量。原创 2025-04-03 09:30:56 · 623 阅读 · 0 评论 -
Java中介者模式详解
对象间存在复杂的网状引用关系需要集中控制多个对象间的交互交互逻辑需要复用或统一管理系统需要动态调整交互方式GUI框架中的组件交互聊天应用中的消息传递分布式系统的协调服务工作流引擎游戏中的角色交互正确使用中介者模式可以简化系统架构,但需要注意避免中介者过度复杂化。原创 2025-04-03 09:29:57 · 500 阅读 · 0 评论 -
Java迭代器模式详解
/ 树节点// 创建深度优先迭代器// 创建广度优先迭代器// 深度优先迭代器return!i >= 0;i--) {需要统一遍历不同结构的集合需要支持多种遍历方式需要隐藏集合内部实现需要延迟加载或分批处理数据Java集合框架(Collection.iterator())数据库结果集遍历树形结构遍历文件系统遍历分页数据加载正确使用迭代器模式可以提高代码的复用性和灵活性,但对于简单遍历需求,直接使用for循环可能更简洁。原创 2025-04-03 09:27:16 · 432 阅读 · 0 评论 -
Java迭代器模式详解
/ 树节点// 创建深度优先迭代器// 创建广度优先迭代器// 深度优先迭代器return!i >= 0;i--) {需要统一遍历不同结构的集合需要支持多种遍历方式需要隐藏集合内部实现需要延迟加载或分批处理数据Java集合框架(Collection.iterator())数据库结果集遍历树形结构遍历文件系统遍历分页数据加载正确使用迭代器模式可以提高代码的复用性和灵活性,但对于简单遍历需求,直接使用for循环可能更简洁。原创 2025-04-03 09:25:11 · 489 阅读 · 0 评论 -
Java解释器模式详解
需要解释执行特定语法规则的场景简单语言或文法规则的实现需要频繁扩展语法规则的场景业务规则需要动态配置的情况规则引擎实现SQL条件解析数学公式计算正则表达式处理金融交易规则验证正确使用解释器模式可以提高系统的灵活性和可扩展性,但对于复杂语言解析,建议使用专门的解析器生成工具如ANTLR等。原创 2025-04-03 09:20:35 · 686 阅读 · 0 评论 -
Java命令模式详解
需要将请求调用者与执行者解耦的场景需要支持撤销/重做功能的系统需要实现事务或原子操作的场景需要排队或延迟执行请求的场景GUI事件处理(如按钮点击)事务系统宏录制功能任务调度系统智能家居控制正确使用命令模式可以提高系统的灵活性和可扩展性,但需要注意不要过度使用,对于简单操作直接调用可能更合适。原创 2025-04-03 09:19:19 · 612 阅读 · 0 评论 -
Java 责任链模式 详解
有多个对象可以处理同一请求需要动态指定处理流程需要解耦请求发送者和接收者处理流程可能变化的情况Web框架的过滤器链审批工作流系统异常处理系统事件处理管道中间件设计正确使用责任链模式可以提高系统的灵活性和可扩展性,但需要注意控制处理链的复杂度,避免性能问题。原创 2025-04-02 18:33:22 · 1945 阅读 · 0 评论 -
Java 代理模式 详解
需要控制对复杂或敏感对象的访问需要为对象添加额外功能而不修改其代码需要实现延迟加载或远程访问需要添加访问日志、监控等功能RPC框架(如Dubbo)Spring AOP实现ORM框架(如Hibernate延迟加载)安全控制框架缓存实现正确使用代理模式可以提高系统的安全性和灵活性,但需要注意不要过度使用,以免增加系统复杂性。原创 2025-04-02 18:31:21 · 732 阅读 · 0 评论 -
Java 享元模式 详解
系统需要创建大量相似对象对象的大部分状态可以外部化内存占用是系统瓶颈需要集中管理共享资源文本/图形编辑器游戏开发(粒子、角色等)数据库连接池浏览器DOM节点管理正确使用享元模式可以显著降低内存消耗,但需要注意不要过早优化,应在性能分析确认内存是瓶颈后再考虑使用此模式。原创 2025-04-02 18:29:18 · 452 阅读 · 0 评论 -
Java外观模式详解
复杂子系统需要简单入口需要解耦客户端与子系统为分层系统提供统一入口遗留系统包装和重构框架设计API网关服务层封装复杂流程整合正确使用外观模式可以显著提高系统的易用性和可维护性,但需要注意不要过度封装,以免限制系统的灵活性。原创 2025-04-02 18:26:56 · 689 阅读 · 0 评论 -
Java装饰器模式详解
需要动态/透明地添加或撤销功能不适合使用子类扩展的情况需要组合多个独立扩展功能系统需要运行时添加功能Java I/O流体系Web中间件开发GUI组件装饰权限控制/日志记录等横切关注点正确使用装饰器模式可以提高系统的灵活性和可扩展性,但需要注意不要过度使用,以免增加系统复杂性。原创 2025-04-02 18:25:21 · 604 阅读 · 0 评论 -
Java 组合模式 详解
表示对象的部分-整体层次结构希望客户端忽略组合对象与单个对象的不同需要处理递归或嵌套结构的场景文件/目录系统GUI组件系统组织结构表示菜单系统XML/JSON文档处理正确使用组合模式可以简化复杂结构的处理,但需要注意不要过度使用,在确实存在树形结构需求时才采用此模式。原创 2025-04-02 18:23:37 · 532 阅读 · 0 评论 -
Java 桥接模式 详解
抽象和实现都需要扩展的场景需要避免多层继承的情况平台无关的架构设计运行时切换实现的需求GUI框架开发驱动程序开发跨平台应用数据库访问层正确使用桥接模式可以提高系统的灵活性和可维护性,但需要注意不要过度设计,在确实存在多个独立变化维度时才使用此模式。原创 2025-04-02 18:21:47 · 480 阅读 · 0 评论 -
Java 适配器模式 详解
集成遗留系统使用第三方库系统升级过渡期设备驱动开发企业系统集成框架扩展开发跨平台开发微服务接口适配正确使用适配器模式可以提高代码的复用性和系统的灵活性,但需要注意不要滥用,以免增加系统复杂性。原创 2025-04-02 18:20:26 · 658 阅读 · 0 评论 -
Java 原型模式 详解
对象创建成本高的场景需要动态配置对象的场景需要隔离对象创建细节的场景游戏开发(角色、道具复制)配置管理(配置模板复制)缓存实现(原型缓存)撤销/重做功能(状态保存与恢复)正确使用原型模式可以显著提高系统性能,但需要注意深拷贝/浅拷贝的选择以及clone方法的正确实现。原创 2025-04-02 18:18:26 · 851 阅读 · 0 评论 -
Java建造者模式详解
需要创建包含多个部件的复杂对象对象有多个变体或配置选项需要创建不可变对象希望提供清晰的创建API配置对象的构建DTO对象的创建测试数据的准备复杂领域模型的实例化正确使用建造者模式可以显著提高代码的可读性和可维护性,是Java开发者工具箱中的重要设计模式。原创 2025-04-02 18:15:45 · 562 阅读 · 0 评论 -
Java工厂模式详解
工厂模式是面向对象设计中最重要的模式之一,它通过将对象的创建与使用分离,提高了代码的灵活性和可维护性。根据业务复杂度选择合适的工厂模式变体在框架开发中广泛使用(如Spring的BeanFactory)与模板方法、策略等模式可以很好结合避免在简单场景中过度使用正确使用工厂模式可以显著提高代码的可维护性和扩展性,是每个Java开发者必须掌握的核心设计模式。原创 2025-04-02 18:11:47 · 1089 阅读 · 0 评论 -
Java单例模式详解
Java 单例模式详解原创 2025-04-02 17:38:39 · 914 阅读 · 0 评论
分享