06 2022 档案
摘要:23种设计模式的总结 三种类型 创建型 结构型 行为型
阅读全文
摘要:解释器模式 应用场景 编译器, 规则引擎, 正则表达式 定义 三要素: 语言 语法 语法解释器 定义: 解释器模式为语言定义语法,并定义一个解释器处理语法. 实现(比较灵活,不固定) 定义一个表达式接口,接口里有一个解析方法interpret().多个表达式都实现自这个接口. 表达式的解析也写在表达
阅读全文
摘要:命令模式 定义 将请求封装成对象 使用不同的请求参数化其他对象(将请求依赖注入到其他对象) 支持请求的排队执行, 记录日志, 撤销等附加功能 实现 将函数封装成对象. 应用场景 控制命令的执行,比如异步, 延迟, 排队执行命令, 撤销重做命令, 给命令记录日志等. 设计模型由两部分组成: 应用场景
阅读全文
摘要:访问者模式 定义: Allows for one or more operation to be applied to a set of objects at runtime, decoupling the operations from the object structure. 允许一个或者多个
阅读全文
摘要:迭代器模式 作用:遍历集合对象. 迭代器模式包含两部分: 容器 容器接口 容器实现类 容器迭代器 迭代器接口 迭代器实现类 设计思路和实现 迭代器中需要定义hasNext(), currentItem(), next()三个方法. 待遍历的容器对象通过依赖注入传递到迭代器类中.容器通过iterato
阅读全文
摘要:状态模式 三个组成部分: 状态 事件(转移条件) 动作 实现方式: 分支逻辑法.使用if-else或者switch-case进行状态的转移.这种方式不推荐,可读性和可维护性差. 查表法.将各种状态梳理后写进二维数组,然后通过查询数组进行状态的转移.推荐,可读性和可维护性高.但是这个方法也有局限性,仅
阅读全文
摘要:职责链模式 定义 多个处理器依次处理一个请求,A处理器处理请求,然后给到B处理器处理请求,然后给到C处理器处理请求,继续往后走,直到所有处理器都执行完成。最终,一个请求依次经过了A、B、C等所有处理器的处理,每个处理器各自承担不同的处理职责。 有两种定义: (1)如果处理器链上的某个处理器能处理这个
阅读全文