设计模式7(状态模式,备忘录模式)

时间:2022-10-01 15:48:02

状态模式

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

分离状态,选择行为

状态模式

各种状态不能替换

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

分离状态,选择行为

策略模式

各种策略可以互相替换

   

观察者模式

   

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

单例模式

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

   
       
       

 

备忘录模式

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

以便在操作后,恢复状态

    保存和恢复内部状态

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

|

|

TCareTaker.Create(TOriginator);                

设计模式7(状态模式,备忘录模式)宽窄接口,使得只有原发器可以获取备忘录中状态

命令模式

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

 

原型模式

 

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