# design-patterns-practice **Repository Path**: zztiyjw/design-patterns-practice ## Basic Information - **Project Name**: design-patterns-practice - **Description**: Java工程师成长计划-设计模式练习 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: https://albertyang0801.github.io/blog/other/design/ - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 0 - **Created**: 2020-11-04 - **Last Updated**: 2025-08-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: Java, 设计模式 ## README # Java工程师成长计划-设计模式Demo ## 介绍 >本项目是学习设计模式的练习项目,用来记录设计模式相关概念和学习过程中的总结感悟。 [设计模式 blog ](https://albertyang0801.github.io/blog/other/design/) ## 设计模式的目的 * 代码重用性(提取重复代码) * 可读性(代码规范,便于阅读) * 可扩展性(方便增加新功能) * 可靠性(增加新功能,对以前的功能没有影响) * 使程序呈现高内聚、低耦合的特性 ## 设计模式的七大基本原则 [design-principle](https://gitee.com/zztiyjw/design-patterns-practice/tree/master/design-principle) * 单一职责原则 * 接口隔离原则 * 依赖倒置原则 * 里氏替换原则 * 开闭原则 * 迪米特法则 * 合成复用法则 ## 设计模式三大类型 ### 1. 创建型模式 [design-create](https://gitee.com/zztiyjw/design-patterns-practice/tree/master/design-create) * 单例模式 * 序列化和反序列化 * 工厂模式 * 简单工厂模式 * 抽象工厂模式 * 原型模式 * 浅拷贝和深拷贝 * 建造者模式 * 手写lombok表达式的@builder注解源码 ### 2.结构型模式 [design-structural](https://gitee.com/zztiyjw/design-patterns-practice/tree/master/design-structural) - 代理模式 - 桥接模式 - 过滤器模式 - 组合模式 - 装饰器模式 - 外观模式 - 享元模式 ### 3.行为型模式 [design-behavioral](https://gitee.com/zztiyjw/design-patterns-practice/tree/master/design-behavioral) - 责任链模式 - 观察者模式 * 策略模式 * 使用工厂模式和策略模式消灭if-else * 状态模式 * 模板模式 * 命令模式 * 解释器模式 * 迭代器模式 * 中介者模式 * 备忘录模式 * 访问者模式