# designpattern-demo **Repository Path**: sangjiacun_admin/designpattern-demo ## Basic Information - **Project Name**: designpattern-demo - **Description**: 设计模式 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-04-24 - **Last Updated**: 2021-11-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # designpattern-demo ## PDF 《设计模式之美》 链接:https://pan.baidu.com/s/1dwZ8N73EF1-4_9F5kgF0Lg 密码:08bm ## 代码评价标准 1. 可维护性 1. 可读性 1. 可扩展型 1. 灵活性 1. 简洁性 1. 可复用性 1. 可测试性 ## 二、设计模式 ### 2.1 创建型 常用: 1. 单例模式 (singleton):一个类就只有一个实例 1. 简单工厂模式 (factory):是个人都会的设计模式。 1. 工厂方法模式 (factoryMethod):稍微复杂一点的工厂模式 1. 抽象工厂模式 (AbstarctFactory):最复杂的工厂模式变种 1. 构造器模式 (builder):封装复杂对象的构造逻辑 不常用: 1. 原型模式 (prototype):自己实现自己的对象拷贝逻辑 ### 2.2 结构型 常用: 1. 代理模式 (proxy):本地接口代理远程接口的调用 1. 桥接模式 (bridge):两个代码组件之间面向接口桥接调用 1. 装饰器模式 (decorator):对目标类的功能进行增强 1. 适配器模式 (adapter):适配老版本接口和第三方接口 不常用: 1. 外观模式 (facade):将多个内部模块调用封装在一个类中 1. 组合模式 (composite):对层级数据递归调用执行操作 1. 享元模式 (flyweight):享受元数据,简单的jvm内存对象池缓存 ### 2.3 行为型 常用: 1. 观察者模式 (observer):监听目标对象的状态改变 1. 模板方法模式 (template):抽取通用代码逻辑到父类 1. 策略模式 (strategy):替换掉屎一样的if else语句 1. 责任链模式 (chain):动态组装不同的复杂业务流程 1. 迭代器模式 (iterator):封装你的集合迭代逻辑 1. 状态模式 (state):封装数据的状态流转逻辑 不常用: 1. 访问者模式 (visitor):动态的给目标对象增加新功能 1. 备忘录模式 (memento):将中间数据暂存之后再恢复 1. 命令模式 (command):给其他模块下达命令 1. 中介者模式 (mediator):让互相调用的模块之间解耦合