- 博客(29)
- 资源 (7)
- 收藏
- 关注
原创 常用设计模式系列(十九)- 状态模式
本文介绍了状态模式的概念与应用。状态模式允许对象在内部状态改变时改变其行为,适用于系统中对象存在多种状态且状态间需要转换的场景。作者通过银行信用卡账户管理案例,展示了状态模式的具体实现方式,包括账户类、抽象状态类和三种具体状态类(正常状态、透支状态和受限状态)。该模式将状态转换逻辑封装在状态类中,避免了复杂的条件判断,提高了代码的可维护性和扩展性。文章还结合个人生活经历,生动说明了状态模式的实际意义。
2025-08-11 11:26:50
1112
原创 常用设计模式系列(十八)-责任链模式
本文介绍了责任链设计模式,通过一个家庭教育资金审批的生动案例说明了该模式的应用。责任链模式将请求的发送者和处理者解耦,通过链式结构传递请求,直到被某个对象处理。文章详细讲解了纯责任链和不纯责任链的区别,并给出了完整的代码实现:包括抽象处理类Handler、具体处理者ChildHandler、FatherHandler和MontherHander,以及商品类Shop和客户端测试代码。该模式适用于需要多级审批或分级处理的场景,如权限控制、日志处理等系统设计中。
2025-08-11 11:11:44
796
原创 常用设计模式系列(十七)—命令模式
命令模式摘要 命令模式是一种行为型设计模式,它将请求封装为对象,使不同的请求可以被参数化。该模式由调用者、抽象命令、具体命令和接收者四部分组成,通过解耦请求发送者和接收者来实现灵活性。 典型应用场景包括: 软件系统中的功能按钮控制 支持撤销操作的需求 需要记录请求日志或排队处理的场景 代码实现示例展示了如何使用命令模式构建系统功能按钮(主页、登录、退出),每个按钮对应具体命令类,通过统一的接口调用执行。该模式支持扩展队列处理,可以应对高并发请求场景。 优点包括降低系统耦合度、方便扩展新命令、支持撤销和重做等
2025-07-31 11:22:02
769
原创 常用设计模式系列(十六)—策略模式
本文介绍了设计模式中的策略模式,通过公共交通折扣案例生动说明了该模式的应用。策略模式定义了一系列可互换的算法(如学生卡8折、老人卡5折等),通过环境类(刷卡机)动态选择具体策略。文章包含UML类图和完整代码实现,展示了如何将不同折扣策略封装为独立类,客户端通过切换策略对象即可改变计费方式,体现了开闭原则。作者还用出差选择交通工具的日常例子帮助理解策略模式的抽象概念,强调该模式使算法独立于使用它的客户而变化,便于扩展新的策略。
2025-07-31 11:12:23
1153
原创 常用设计模式系列(十四)—模板方法模式
本文介绍了行为型设计模式中的模板方法模式。该模式通过抽象类定义执行方法的模板流程,子类可重写特定步骤实现个性化处理。文章以银行开卡流程为例,展示了抽象模板类与具体子类(人工办理和自助办理)的实现方式,并提供了完整的Java代码示例。模板方法模式的优点包括规范流程、代码复用和符合开闭原则,缺点是可能增加类数量和维护成本。适用场景包括需要定义执行框架但允许步骤灵活实现的业务场景,如Servlet、Filter等Web组件。
2025-07-28 11:24:37
474
原创 常用设计模式系列(十三)—组合模式
本文介绍了结构型设计模式中的组合模式(Composite Pattern)。组合模式通过树形结构表示:整体-部分关系,使客户端可以统一处理单个对象和组合对象。文章通过超市购物袋嵌套的实例类比,展示了组合模式的应用场景。代码示例演示了抽象构件、树枝角色(袋子)和树叶角色(商品)的实现,最终计算出购物总价。组合模式的优点在于简化客户端逻辑和方便扩展,缺点是设计时需要考虑通用抽象性且不易用继承扩展。适用场景包括需要处理树形结构数据(如菜单、权限系统)和隐藏对象差异的情况。
2025-07-25 14:15:58
644
原创 常用设计模式系列(十二)—享元模式
《享元模式:共享对象的优雅管理》 享元模式是一种结构型设计模式,通过共享相似对象来减少内存占用和提高性能。它通过将对象的公共部分抽象出来,由多个对象共享使用,从而减少重复创建的开销。与单例模式不同,享元模式可以有多个实例,并通过共享容器来管理。 典型应用场景包括线程池、数据库连接池等需要大量重复对象的场景。以共享充电宝为例,充电宝作为共享对象被统一管理在池中,使用时从池中获取,用完后归还,实现了资源的高效利用。 代码实现展示了充电宝池的创建和管理过程,包括抽象充电宝类、具体实现类以及享元工厂类。
2025-07-25 14:05:38
869
原创 常用设计模式系列(十一)—外观模式
外观模式是一种结构型设计模式,通过提供统一接口来简化复杂子系统的访问。它将多个子系统整合为一个高层接口,客户端只需与外观对象交互,无需了解内部实现细节。文中通过房产中介的例子形象说明:中介(外观角色)整合多个房东房源(子系统),为客户提供统一服务。代码示例展示了如何创建子系统、抽象外观角色和具体外观角色,并演示了客户端调用方式。该模式优点包括简化接口、降低耦合度,但违背开闭原则,适用于系统分层、接口复杂需统一管理等场景。
2025-07-24 14:37:06
869
原创 常用设计模式系列(十)—装饰者模式
文章摘要:本文介绍了装饰者设计模式,该模式通过在不改变对象结构的情况下动态扩展功能。以鸡蛋灌饼为例,基础灌饼通过装饰类添加不同配料形成套餐A/B,演示了如何在不修改原有类的基础上增加功能。文章提供了完整的Java代码实现,分析了装饰者模式的优缺点(灵活扩展但可能增加复杂度),并指出其适用于需要透明扩展功能的场景,相比继承更灵活。最后作者鼓励读者关注自己以获取更多设计模式内容。
2025-07-24 14:28:08
517
原创 常用设计模式系列(九)—桥接模式
本文介绍了设计模式中的桥接模式(Bridge Pattern)。桥接模式通过将抽象与实现分离,使它们可以独立变化,从而降低系统耦合度。作者以汽车制造为例,说明如何将颜色喷涂功能从具体车型生产线中抽离,形成独立的喷涂组,实现功能复用。文章包含完整的Java代码示例,展示了抽象化角色(Color)、实现化角色(Black,Red)、扩展抽象化角色(Car)及其具体实现化角色(Automobile,ElectricCar)的创建过程。最后分析了桥接模式的优缺点及适用场景,指出其适合存在两个独立变化维度的系统,能够
2025-07-23 11:31:15
753
原创 常用设计模式系列(一)—简单工厂模式
hello各位程序员大哥大姐好,上期我讲解了设计模式的概念及分类,学习了UML类图的认识,今天我们就趁热打铁,学习一下简单工厂模式,以后每一个模式会出一篇文章,供各位及我自己查阅学习。斗图还是不能忘的,为了苟且的生活,大家加油,生活不止眼前的苟且,还有远方的苟且。第一节:简单工厂模式概述简单工厂模式(Smiple Factory Pattern):定义一个工厂类,他可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类。简单...
2021-01-21 10:19:42
1786
原创 什么是设计模式?详解设计模式概念及几大原则!
前言hello,各位小伙伴大家好,,天气冷了,各位注意保暖。今天我们来讲讲设计模式,在我们学习Java的时候,时常听到单例模式,多例模式,还有使用Spring的时候,默认采用的单例模式,你所听到的“饱汉式”、“饿汉式”,都是对设计模式的形容。那么什么是设计模式呢?它又是什么概念呢。设计模式的概念:设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员.
2020-12-10 17:13:21
1940
原创 spring+struts+quartz开发定时任务出现的问题
java.io.NotSerializableException: Unable to serialize JobDataMap for insertion into database because the value of property 'methodInvoker' is not serializable: org.springframework.scheduling.quartz.Me...
2018-08-22 16:03:15
1290
TIB-js-studiocomm-6.18.1-macosx-x86-64旧版本,官网已无法找到,稀缺资源
2024-12-31
计算机毕业设计之人力资源管理系统(Java单体架构)
2022-03-25
计算机毕业设计之人力资源管理系统(Java分布式架构)
2022-03-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
2