无废话设计模式(16)行为型模式--备忘录模式

0-前言

  备忘录模式定义:在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。

          这样以后就可以将该对象恢复到原先保存的状态。

1-实现

  备忘录模式设计的初衷是用于备份状态。

  但是时至今日,它属于过度设计,很鸡肋,实际项目中是基本不会考虑这样使用的。

  在该应用场景中,大把简单高效的方式,

  所有,该设计模式废弃,不再介绍,

  如果还要坚持使用的,可以自行百度学习。

  【题外话】:

      软件设计,要避免过度设计,软件发展史中,上世纪也是经历了过度设计的阶段到逐步回归理性的阶段,

      到当下各种新语言百花绽放,更是开始了追求极简的风格。

      研发领域有句比较出名的流传多年的老话,我大学时老教授告诫的:“如无必要,勿增实体”,就是告诫务过度设计;

      我们学习各种设计模式,目的是为了在合适的场景使用以降低系统的复杂性,而不是为了卖弄;

      能直线到达的,就不要搞那么多弯弯绕绕整那么多台阶弯道,除非确实有必要;

      时刻提醒自己:是否过度设计了,是否足够简化了。

      一家之言,不喜勿喷;

(0)

相关推荐

  • [PHP小课堂]PHP设计模式之备忘录模式

    [PHP小课堂]PHP设计模式之备忘录模式 关注公众号:[硬核项目经理]获取最新文章 添加微信/QQ好友:[DarkMatterZyCoder/149844827]免费得PHP.项目管理学习资料

  • 关于“架构”与“框架”、“模式”与“模型”的思考

    目录 概念 架构 模型 框架 设计模式 正文 回到顶部 概念 架构 软件结构上具体的表现形式,其抽象的对应概念是--模型! 所以你听说过各个公司的组织架构,但其架构不可能都相同. 我们常常听说&quo ...

  • 设计模式之备忘录模式

    备忘录模式 Memento Intro 备忘录模式,在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态.这样以后就可将该对象恢复到原先保存的状态. 备忘录模式也叫快照模式,这个 ...

  • 设计模式系列之二:23种GoF设计模式的分类

    GoF设计模式一共有23个.一般可以按目的和作用范围来进行划分,具体划分方法如下:第一,这些模式按目的(即完成什么样任务)来划分为创建型.结构型和行为型这三种模式:创建型:用来创建对象.单例.原型.抽 ...

  • [PHP小课堂]PHP设计模式之状态模式

    [PHP小课堂]PHP设计模式之状态模式 关注公众号:[硬核项目经理]获取最新文章 添加微信/QQ好友:[DarkMatterZyCoder/149844827]免费得PHP.项目管理学习资料

  • python patterns-Python中的设计模式集合

    创意设计模式 这些设计模式都是关于类实例化的.该模式可以进一步分为类创建模式和对象创建模式.虽然类创建模式在实例化过程中有效地使用了继承,但是对象创建模式有效地使用了委派来完成工作. 抽象工厂:创建多 ...

  • 创建型设计模式总结

    Intro 前面几篇文章已经把创建型设计模式都介绍了,来做一个简单的总结. 创建型设计模式,就是用来创建对象的设计模式,根据要创建的对象的复杂度以及是否允许多实例以及是否需要容易扩展等多方面考虑去选择 ...

  • 无废话设计模式(11)结构型模式--代理模式

    0-前言 代理模式定义:为其他对象提供一种代理以控制对这个对象的访问. 1-实现 1-1.简单UML图: 1-2.代码实现 //1.抽象父类 abstract class Actor { public ...

  • 无废话设计模式(10)结构型模式--外观模式

    0-前言 外观模式定义:为子系统中的一组接口提供一个一致的界面,此模式定了一个高层接口    这一接口使得这一子系统更加容易使用: 1-实现 1-1.简单UML图: 1-2.代码实现 //1.子系统A ...

  • 无废话设计模式(9)结构型模式--享元模式

    0-前言 享元模式定义:运用共享技术有效地支持大量细粒度的对象. 1-实现 1-1.简单UML图:  1-2.代码实现 //1.抽象父类(网站父类) abstract class Website { ...

  • 无废话设计模式(17)行为型模式--中介者模式

    0-前言 中介者模式定义(Mediator): 用一个中介对象来封装一系列的对象交互. 中介者对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变他们之间的交互. 1-实现 1-1.简单UM ...

  • 无废话设计模式(15)行为型模式--观察者模式

    0-前言 观察者模式定义:定义了一种一对多的依赖关系让多个观察者对象同事监听某一主题对象. 这个主题对象在状态发生改变时,会通知所有观察者对象,使他们能够自动更新自己: 1-实现 1-1.简单UML图 ...

  • 无废话设计模式(12)行为型模式--模板方法模式

    0-前言 模板方法模式定义:定义一个操作中的算法骨架,而将一些步骤延迟到子类中: 模板方法模式使得子类可以不改变一个算法的结构即可重新定义该算法的某些步骤: 1-实现 1-1.简单UML图:  1-2 ...

  • 无废话设计模式(1)--简单工厂、工厂方法、抽象工厂

    0-前言 简单工厂.工厂方法.抽象工厂都是创建型的设计模式,三个设计模式都是工厂的变种,不复杂,下面我们来快速学习这三种: 1-简单工厂模式 太简单,UML图就不画了,直接上代码: //------- ...

  • PHP设计模式之备忘录模式

    PHP设计模式之备忘录模式 备忘录,这个名字其实就已经很形象的解释了它的作用.典型的例子就是我们原来玩硬盘游戏时的存档功能.当你对即将面对的大BOSS有所顾虑时,一般都会先保存一次进度存档.如果挑战失 ...