go

结构型 适配器模式

为什么需要适配器模式 一般来说如果老的实现类无法满足当前使用需求,但是我们又不敢修改老的业务类,或者业务类根本就是imported的或者外部来

结构型 门面模式

为什么需要门面模式 做过建筑行业的同学可能会知道,门面就是幕墙,一般是建筑的最后一步,就是美化。在程序设计上面,这种设计模式主要用于简化接口,

结构型 组合模式

为什么需要组合模式 组合模式是把部分和整体(集合)的操作统一化,通常用于树形结构。例如:目录和文件,当大家都有数文件大小的时候可以考虑这种模式

结构型 享元模式

为什么需要享元模式 享元模式就是共享类单元,当一个系统存在大量的重复对象,而这些对象是immutable(不可变)对象的时候,我们可以想办法把

行为型 观察者模式

为什么需要观察者模式 观察者模式又命名为发布订阅模式,朋友们对这种模式应该屡见不鲜了。结合各种消息队列工具,这种设计模式还可以实现跨进程通信。

行为型 模版模式

为什么需要模版模式 模版方法模式使用继承机制,把通用步骤和通用方法放到父类中,把具体实现延迟到子类中实现。使得实现符合开闭原则。模版模式经常用

行为型 策略模式

为什么需要策略模式 策略模式是定义一箩筐算法(行为),将每个算法独立封装,并且允许相互替换。策略模式是在定义、创建、使用这三部分可以灵活使用(

行为型 职责链模式

为什么需要职责链模式 职责链模式将请求和处理解耦,让多个对象都有机会处理同一个请求。设计上面可以short circuit,也就是如果有一个处理

行为型 状态模式

为什么需要状态模式 首先状态机包含状态、事件、动作。 状态模式只是实现状态机的一种方法。实现状态机常见三种方法,一种是大量if else做分支跳转

行为型 迭代器模式

为什么需要迭代器模式模式 迭代器在很多语言都会提供,主要作用就是用来里边集合(容器)对象,可以是数组、链表各种树。 采用迭代器可以封装遍历方法,