0

罗尔 3

我有一个包含一些细节的用户模型,其中很少有可编辑的,但需要批准。

我想知道如下更新模型的最佳实践是什么。

  1. 用户修改了一些数据,数据发送审批
  2. 用户仍然可以看到旧数据。
  3. 版主批准更改。
  4. 用户看到新数据

我目前的想法是将其分为两个模型。

  1. 用户模型
  2. 轮廓模型

用户模型包含当前配置文件的 ID,当用户更新他的配置文件时,他会添加一个新的配置文件模型,并且当管理员批准相同时,相关的配置文件模型将链接到用户模型。(旧的可能会被销毁)。

其他的想法是

  1. 每个属性都有 2 个属性(但编辑将是最少的)
  2. 由于所有可编辑条目都是字符串,并且仅用于显示,因此实际模型将包含当前值和未经批准的旧值的转义 JSON。
4

1 回答 1

1

目前的想法肯定会奏效。不过要考虑的事情:

当用户进行 2 次或更多更改而前一个更改尚未获得批准时会发生什么?他可能会更改不同的属性或对先前更改的属性进行另一次更改。系统必须能够将这些更改合并在一起,因为它们会从不同的基础(不同的模型)分支出来。

也许更好的解决方案是拥有一个当前的配置文件并等待被批准的配置文件 (WTBA)。

  1. 当没有要批准的更改时,用户会看到当前配置文件。
  2. 用户进行更改,系统将创建一个 WTBA 配置文件。
  3. 用户看到 WTBA 配置文件(但没有其他人)。
  4. 用户进行另一项更改,系统会将更改保存到 WTBA 配置文件(不创建新配置文件)。
  5. 版主批准了 WTBA 配置文件,此时 WTBA 成为当前配置文件,我们又回到了#1。
于 2013-01-10T14:07:24.580 回答