zoukankan      html  css  js  c++  java
  • [Design] Memento Pattern

      行为模式主要是责任和算法的抽象化。行为模式不仅仅是关于类和对象的,而且是关于它们之间的相互作用的。
      行为模式分为类的行为模式和对象的行为模式两种。
    类的行为模式
        类的行为模式使用继承关系在几个类之间分配行为。
    对象的行为模式
        对象的行为模式则使用对象的聚合来分配行为。
    --------------------------------------------------------
    备忘录(Memento Pattern)模式

    备忘录(Memento Pattern)模式以叫做快照模式或Token模式,是对象的行为模式。

    备忘录对象是一个用来存储另外一个对象内部状态的快照的对象。其用意是在不破坏封装的条件下,将一个对象的状态捕捉住,并外部化存储起来,从而可以在将来合适的时候把这个对象还原到存储起来的状态。

     

    结构及角色

    •   1、备忘录(Memento)角色

    将发起人对象的内部状态存储起来。备忘录可以根据发起人对象的判断来决定存储多少发起人对象的内部状态。

    备忘录可以保护其内容不被发起人对象之外的任何对象所读取。

    • 2、发起人(Originator)角色

    创建一个含有当前内部状态的备忘录对象。

    使用备忘录对象来存储其内部状态。

    • 3、负责人(Caretaker)角色

    负责保存备忘录对象。

    不检查备忘录对象的内容。

  • 相关阅读:
    CodeForces 454C——数学——Little Pony and Expected Maximum
    7.23多校——5305DFS——Friends
    Codeforces Round #313 (Div. 2)——C数学题——Gerald's Hexagon
    Codeforces Round #313 (Div. 2)——D递归,stirng——Equivalent Strings
    Codeforces Round #312 (Div. 2)——C暴力技巧——Amr and Chemistry
    简单几何(线段覆盖) POJ 3347 Kadj Squares
    DP+BIT(优化复杂度) UESTC 1217 The Battle of Chibi
    DP(01背包) UESTC 1218 Pick The Sticks (15CCPC C)
    二叉树的前中后序遍历以及表达式树
    DP(优化) UVALive 6073 Math Magic
  • 原文地址:https://www.cnblogs.com/abeen/p/1441897.html
Copyright © 2011-2022 走看看