项目简介
本项目是基于Java设计模式的多功能示例系统,借助多种设计模式的运用,达成一个灵活、可扩展的系统。项目覆盖从基础的单例模式、工厂模式到复杂的策略模式、状态模式等众多设计模式,展现了在实际项目里应用这些模式解决具体问题的方法。
项目的主要特性和功能
- 单例模式:用饿汉式、懒汉式、枚举等多种方式实现,保证系统某些对象仅有一个实例,且展示多线程环境下安全实现单例的方法。
- 工厂模式:包含简单工厂模式创建不同类型手机对象,抽象工厂模式创建不同品牌手机对象,多工厂方法模式创建不同类型手机对象。
- 策略模式:实现不同支付方式(支付宝、微信支付、银联支付),用户可按需选择,还展示在购物车系统中的应用。
- 状态模式:管理射击武器的不同状态(有子弹、无子弹、致死状态),实现状态切换及相应行为,展示不同状态下射击和填充子弹操作。
- 观察者模式:实现报纸订阅系统,内容更新时自动通知订阅者,展示自定义观察者模式。
- 命令模式:实现游戏快捷键管理,用户可自定义快捷键并绑定操作,支持宏命令。
- 装饰者模式:实现蛋糕装饰系统,用户能动态添加装饰(奶油、水果)并计算总价,支持装饰器嵌套。
- 外观模式:实现软件开发项目管理,简化客户端与子系统交互,模拟项目流程。
- 适配器模式:实现电源适配器,转换不兼容电源版本,确保手机正常充电。
- 代理模式:实现购房中介,控制对房主对象的访问,支持JDK动态代理和CGLIB动态代理。
- 责任链模式:管理面试流程,避免请求发送者和接收者的耦合,模拟多轮面试。
- 模板方法模式:实现简历模板,用户可选择不同模板并填充信息,展示模板方法中算法骨架及步骤延迟到子类实现。
安装使用步骤
1. 环境准备
- 确保已安装JDK 8或更高版本。
- 使用Maven或Gradle进行项目构建和管理。
2. 复制项目
bash
cd design-pattern
3. 构建项目
bash
mvn clean install
4. 运行项目
bash
mvn spring-boot:run
5. 测试项目
bash
mvn test
6. 查看示例
- 单例模式示例:运行
Printer01
、Printer02
等类。 - 工厂模式示例:运行
AbstractFactoryDemo
、SimpleFactoryDemo
等类。 - 策略模式示例:运行
ShoppingCartDemo
类。 - 状态模式示例:运行
Shooter
类。 - 观察者模式示例:运行
NewspaperDemo
类。 - 命令模式示例:运行
GameClientDemo
类。 - 装饰者模式示例:运行
DecoratorDemo
类。 - 外观模式示例:运行
FacadeDemo
类。 - 适配器模式示例:运行
AdapterDemo
类。 - 代理模式示例:运行
ProxyDemo
类。 - 责任链模式示例:运行
GeneralInterview
类。 - 模板方法模式示例:运行
TemplateMethodDemo
类。
通过以上步骤,可轻松安装、运行和测试项目,查看各种设计模式在实际项目中的应用。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】