State和Momento设计模式有什么区别?因为两者都用于国家保护

时间:2017-08-28 21:55:28

标签: design-patterns

State和Memento设计模式 之间的 区别是什么? 因为它们都用于 状态保存

1 个答案:

答案 0 :(得分:-1)

Memento Pattern

想象一个应该通过TCP传输TCP / IP文件的程序。好吧,您不确定远程服务器是否可用。您可能会在发送消息的类和要求发送文件的类之间实现代理。如果此代理发现远程服务器暂时不可用,则可能会要求管理员将其状态保留在专用的纪念列表中,而不会违反封装(登录,密码,消息等)。之后,在另一个线程中运行的守护者可能会检查要发送的纪念品列表并重新生成将发送消息(或尝试)的代理。您可以将其调整为发布/订阅模式,电子邮件发送等。

状态模式

想象一下,你正在用某种突变超级英雄写一款游戏。在某种情况下,你需要成为一个人。您使用当时所需的具体状态。现在,想象你需要成为那个野兽,你可以拯救你爱的女人。然后你回到致力于这种情况的州。但是,在任何时候,您都可以使用相同的腿,脚或任何对象参考来完成您的职责。