朝花夕誓
12
23
行为型-备忘录模式 行为型-备忘录模式
一、介绍备忘录模式是一种行为设计模式, 允许在不暴露对象实现细节的情况下保存和恢复对象之前的状态。 二、代码 Originator:原始对象 Caretaker:负责保存好备忘录 Memento:备忘录,存储原始对象的状态。备忘录实际上有两
2022-12-23
23
行为型-模板方法模式 行为型-模板方法模式
一、介绍模板方法模式是一种行为设计模式, 它在超类中定义了一个算法的框架, 允许子类在不修改结构的情况下重写算法的特定步骤。 二、代码在含有继承结构的代码中,模板方法模式是非常常用的。 通常会有一个抽象类: public abstract
2022-12-23
23
行为型-状态模式 行为型-状态模式
一、介绍状态模式是一种行为设计模式, 让你能在一个对象的内部状态变化时改变其行为, 使其看上去就像改变了自身所属的类一样。 二、代码商品库存中心有个最基本的需求是减库存和补库存 核心在于,我们的关注点不再是 Context 是该进行哪种操作
2022-12-23
23
行为型-迭代器模式 行为型-迭代器模式
一、介绍迭代器模式是一种行为设计模式, 让你能在不暴露集合底层表现形式 (列表、 栈和树等) 的情况下遍历集合中所有的元素。 其实和链表很像 二、代码 Aggregate 是聚合类,其中 createIterator() 方法可以产生一个
2022-12-23
20
行为型-责任链模式 行为型-责任链模式
一、介绍责任链通常需要先建立一个单向链表,然后调用方只需要调用头部节点就可以了,后面会自动流转下去。比如流程审批就是一个很好的例子,只要终端用户提交申请,根据申请的内容信息,自动建立一条责任链,然后就可以开始流转了。 有这么一个场景,用户参
2022-12-20
20
行为型-观察者模式 行为型-观察者模式
一、介绍1、观察者模式拥有一些值得关注的状态的对象通常被称为目标, 由于它要将自身的状态改变通知给其他对象, 我们也将其称为发布者 (publisher)。 所有希望关注发布者状态变化的其他对象被称为订阅者 (subscribers)。 观
2022-12-20
19
结构型-享元模式 结构型-享元模式
一、享元模式享元分开来说就是 共享 元器件,也就是复用已经生成的对象,这种做法当然也就是轻量级的了。 复用对象最简单的方式是,用一个 HashMap 来存放每次新生成的对象。每次需要一个对象的时候,先到 HashMap 中看看有没有,如果没
2022-12-19
19
结构型-组合模式 结构型-组合模式
一、组合模式组合模式用于表示具有层次结构的数据,使得我们对单个对象和组合对象的访问具有一致性。 直接看一个例子吧,每个员工都有姓名、部门、薪水这些属性,同时还有下属员工集合(虽然可能集合为空),而下属员工和自己的结构是一样的,也有姓名、部门
2022-12-19
19
行为型-策略模式 行为型-策略模式
一、介绍策略模式(Strategy):针对一组算法,将每一个算法封装到具有共同接口的独立的类中,使得它们可以互换。 使用策略模式可以把行为和环境分割开来。 本质:分离算法,选择实现。 策略模式有下面几个部分: 环境(Context):有一
2022-12-19
16
结构型-门面模式 结构型-门面模式
一、介绍门面模式(也叫外观模式,Facade Pattern)在许多源码中有使用,比如 slf4j 就可以理解为是门面模式的应用。 有一个接口,我们可以在不改变接口原有实现类的情况下,提供一个门面类,通过调用门面类的方法,让门面类帮我们决定
2022-12-16
15
结构型-装饰模式 结构型-装饰模式
一、介绍装饰模式是一种结构型设计模式, 允许你通过将对象放入包含行为的特殊封装对象中来为原对象绑定新的行为。 其实是装饰对象和被装饰对象都实现了同一个接口,装饰对象有一个成员变量指向被装饰对象,在调用装饰对象方法时,执行装饰者的扩展方法后,
2022-12-15
08
6 / 24