zoukankan      html  css  js  c++  java
  • 设计模式7(状态模式,备忘录模式)

    状态模式

        上下文对象通过改变状态来改变行为,看起来就像是改变了类型

    分离状态,选择行为

    状态模式

    各种状态不能替换

    上下文对象中维护的状态对象

    分离状态,选择行为

    策略模式

    各种策略可以互相替换

       

    观察者模式

       

    行为是固定的,就是通知观察者,以达到触发联动的效果

    单例模式

    如有需要可以将状态设置为单例

       
           
           

    备忘录模式

        在不破坏原发器封装的前提下,捕获其内部状态(备忘录),并在对象外部由"备忘录管理者"保存管理,

    以便在操作后,恢复状态

        保存和恢复内部状态

    TOriginator通过接口IMemento(窄接口)保存状态IState(宽接口)

    |

    |

    TCareTaker.Create(TOriginator);                

    宽窄接口,使得只有原发器可以获取备忘录中状态

    命令模式

    可以用备忘录保存命令前的状态,以便命令回滚

     

    原型模式

     

    如果原发器中的大多数状态都要保存,可以在备忘录中存入一个原发器的实例

    酒肉穿肠过 佛祖心中留 世人若学我 如同入魔道
  • 相关阅读:
    P1962 斐波那契数列(矩阵加速DP)
    P1939 【模板】矩阵加速(数列)
    剑指04.重建二叉树
    剑指03.从尾到头打印链表
    剑指02.替换空格
    剑指01.二维数组中的查找
    Python绘图学习笔记(待完善)
    时间观念 目标观念
    购房交税
    可以不做会计,但是不能不懂会计
  • 原文地址:https://www.cnblogs.com/jspdelphi/p/7807605.html
Copyright © 2011-2022 走看看