# DesignPatterns **Repository Path**: cdtoken/DesignPatterns ## Basic Information - **Project Name**: DesignPatterns - **Description**: java实现设计模式的示例代码 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-04-23 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # DesignPatterns #### 介绍 java实现设计模式的示例代码 #### 设计原则 + 开放封闭原则 ``` 一个实体(类、函数、模块等)应该对外扩展开放,对内修改关闭 ``` + 接口隔离原则 ``` 使用多个专门功能的接口,而不是使用单一的总接口。 ``` + 合成复用原则 ``` 在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分。 ``` + 里氏代替原则 ``` 子类必须替换掉它们的父类型。 ``` + 最少知识原则(迪米特法则) ``` 一个模块或对象应尽量少的与其他实体之间发生相互作用,使得系统功能模块相对独立,这样当一个模块修改时,影响的模块就会越少,扩展起来更加容易。 ``` + 单一职责原则 ``` 一个类=只有一个引起它变化的原因。 ``` + 依赖倒置原则 ``` 细节应该依赖于抽象,而抽象不应该依赖于细节。 ``` #### 设计模式-分类 + 创建型(抽象类的实例化) + 单例模式 + 工厂方法模式 + 抽象工厂模式 + 建造者模式 + 原型模式 + 结构型(处理类、对象的组合) + 适配器模式 + 桥梁模式 + 装饰模式 + 门面模式 + 合成模式 + 亨元模式 + 代理模式 + 行为型(对在不同的对象之间划分责任和算法抽象化) + 模板方法模式 + 命令模式 + 迭代器模式 + 观察者模式 + 调停者模式 + 状态模式 + 策略模式 + 责任链模式 + 访问者模式 + 备忘录模式 + 解释器模式 #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 码云特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目 5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)