当前位置:网站首页 > 技术博客 > 正文

华为手机备忘录怎么加密



备忘录应用场景明确并且有限,一般用来数据的防丢失、撤销和恢复。对大对象的备份和恢复,备忘录模式能有效的节省时间和空间开销。

定义

  1. 存储副本以便后期恢复
  2. 要在不违反封装原则的前提下恢复

备忘录模式中的角色

  1. 原发器(Originator):负责创建一个备忘录,用以存储其当前状态;同时也可以利用备忘录恢复其内部状态
  2. 备忘录(Memento):用于存储原发器对象的内部状态。为了保护原发器对象的封装性,备忘录对象通常被设计为不可直接访问其内容,只暴露给原发器。
  3. 负责人(Caretaker):负责保管备忘录对象,但不直接读取或修改备忘录的内容。它只是简单的提供一个存储空间,用来在需要的时候传递给原发器。

使用记事本程序来理解各个角色

  1. 记事本本身为原发器,可以创建备份、从备份恢复
  2. 记事本备份为 Memento 备忘录,由原发器创建
  3. 保存所有记事本备份的对象则为负责人,保存所有的记事本备份。

未使用备忘录模式实现输入备份

 

问题:

  1. 为了能尽快恢复快照使用了 setText ,可能导致被其他业务误用,方法违背了封装原则。
  2. 快照本身应该是不可变的,不应该包含任何修改内部状态的函数,但是上述实现直接复用 InputText 的定义,也违反了快照的封装原则。

使用备忘录模式实现输入备份

 

备忘录模式适合的场景如下:

  • 当需要实现撤销/重做功能时。
  • 当需要保存和恢复对象的内部状态,但又不想暴露这些状态的细节时。
  • 在某些性能非关键路径上,可以接受因保存状态而带来的资源消耗。

备忘录模式在实现时,设计者需要权衡状态保存的频率和成本,以确保不会因为过度使用而导致资源紧张。此外,也可以考虑对备忘录进行优化,比如限制保存的状态数量,或者采用更为高效的序列化技术来减少存储开销。

  • 上一篇: 3维数组
  • 下一篇: vmware15.5.2永久激活密钥
  • 版权声明


    相关文章:

  • 3维数组2025-02-05 21:30:05
  • 多线程 线程安全2025-02-05 21:30:05
  • 进程,线程,协程2025-02-05 21:30:05
  • sql左连接和右连接,内连接2025-02-05 21:30:05
  • seq2seq keras2025-02-05 21:30:05
  • vmware15.5.2永久激活密钥2025-02-05 21:30:05
  • 大麦抢票应该点开哪个界面2025-02-05 21:30:05
  • java hashmap底层2025-02-05 21:30:05
  • pycharm创建python工程2025-02-05 21:30:05
  • crc8 crc16区别2025-02-05 21:30:05