门面模式 发表于 2022-05-01 更新于 2024-09-30 分类于 设计模式 阅读次数: Valine: 本文字数: 831 阅读时长 ≈ 1 分钟 门面模式也叫外观模式,为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用,其本质是封装交互,简化调用 对外统一接口 核心概念 外观角色 客户端可以调用这个角色的方法,此角色知晓子系统的功能和职责,会将客户端的请求委派到相应的子系统去 阅读全文 »
备忘录模式 发表于 2022-05-01 更新于 2024-09-30 分类于 设计模式 阅读次数: Valine: 本文字数: 1.9k 阅读时长 ≈ 2 分钟 备忘录模式在不破坏封装性的前提下,捕捉一个对象的内部状态,并在该对象之外保存这个状态,这样以后就可以将该对象恢复为原先保存的状态,用于保存和恢复内部状态 核心概念 Memento 备忘录,用于存储原发器对象的内部状态 Originator 原发器,使用备忘录来保存某个时刻原发器自身的状态,也可以使用备忘录来恢复内部状态 Caretaker 备忘录管理者,负责保存备忘录对象,但是不能对备忘录对象的内容进行操作或检查,并不一定要抽象出一个管理者来,备忘录放在哪里,哪里就是管理者 阅读全文 »
状态模式 发表于 2022-05-01 更新于 2024-09-30 分类于 设计模式 阅读次数: Valine: 本文字数: 853 阅读时长 ≈ 1 分钟 状态模式允许一个对象在其内部状态改变时允许改变它的行为,根据状态来分离和选择行为 状态变成类 核心概念 Context 上下文 State 状态接口,用来封装与上下文的一个特定状态所对应的行为 ConcreteState 具体实现状态处理类 阅读全文 »
观察者模式 发表于 2022-05-01 更新于 2024-09-30 分类于 设计模式 阅读次数: Valine: 本文字数: 1.4k 阅读时长 ≈ 1 分钟 观察者模式定义对象间一种一对多的依赖关系,使得当一个对象改变状态时,所有依赖于它的对象都会得到通知并被自动更新 核心概念 Observer 观察者接口 将多个订阅者称为观察者 ConcreteObserver 观察者具体实现对象 Subject 目标对象 多个观察者观察的对象被称为目标 ConcreteSubject 具体的目标实现对象 阅读全文 »
访问者模式 发表于 2022-05-01 更新于 2024-10-16 分类于 设计模式 阅读次数: Valine: 本文字数: 1.6k 阅读时长 ≈ 1 分钟 访问者模式封装一些作用于某种数据结构中的各元素的操作,可以在不改变数据结构的前提下定义作用于这些元素的新的操作,其本质是预留通路,回调实现 数据与操作分离 核心概念 Visitor 访问者接口 ConcreteVisitor 访问者实现 Element 抽象的元素对象 ConcreteElement 具体的元素对象 ObjectStructure 对象结构,包含多个被访问的对象 阅读全文 »