# java_design **Repository Path**: kindergarten-monkey/java_design ## Basic Information - **Project Name**: java_design - **Description**: java设计模式 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2018-04-25 - **Last Updated**: 2021-12-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # java_design ### 项目介绍 java设计模式 ### 设计原则 ##### 开闭原则:实现热插拔,提高扩展性。 ##### 里氏代换原则:实现抽象的规范,实现子父类互相替换; ##### 依赖倒转原则:针对接口编程,实现开闭原则的基础; ##### 接口隔离原则:降低耦合度,接口单独设计,互相隔离; ##### 迪米特法则,又称不知道原则:功能模块尽量独立; ##### 合成复用原则:尽量使用聚合,组合,而不是继承; ### 设计模式分类 ##### 创建型模式(5种):工厂方法模式,抽象工厂模式,单例模式,建造者模式,原型模式。 ##### 结构型模式(7种):适配器模式,装饰器模式,代理模式,外观模式,桥接模式,组合模式,享元模式。 ##### 行为型模式(11种):策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。 ### 设计模式 * [ ] 单例模式 * [x] 工厂模式 * [ ] 代理模式 * [ ] 建造者模式 * [ ] 原型模式 * [ ] 适配器模式 * [ ] 装饰器模式 * [ ] 外观模式(门面模式) * [ ] 策略模式 * [ ] 责任链模式 * [ ] 桥接模式 * [ ] 组合模式 * [ ] 享元模式 ### IOC * [参考文章](https://github.com/lets-blade/blade) * [x] 自动注入 * [x] IOC ### 数据结构 * [参考文章](https://mp.weixin.qq.com/s?__biz=MzI4Njg5MDA5NA==&mid=2247484064&idx=1&sn=ba783e3e83b8007fcdf129ec0839b6c2&chksm=ebd743a1dca0cab7eed0ba42d1c5d343d88858c17e90a803e0ce9e6644187e5297b29ffbb020#rd) * [x] 二叉树