2013-01-10 19 views
0

回滾3更新具有審批要求的模型

我有一個用戶模型,其中有幾個細節,其中很少是可編輯的,但需要批准。

我想知道如何更新模型的最佳做法。

  1. 用戶修改了一些數據,數據被批准
  2. 用戶仍然可以看到舊的數據發送。
  3. 版主批准更改。
  4. 用戶看到新的數據

我現在的想法是把它單獨作爲兩種車型。

  1. 用戶模型
  2. 剖面模型

用戶模型包含當前配置文件的ID,當用戶更新他的個人資料,他增加了一個新的配置文件模式,當管理員的批准同樣,相關的配置文件模型與用戶模型相關聯。 (舊的可能會被摧毀)。

其他的想法是

  1. 要對每一個屬性2個屬性(但編輯將是最小的)
  2. 由於所有的編輯項是字符串,唯一用途是用於展示,實際模型將包含當前值和未批准舊值的轉義JSON。

回答

1

目前想法肯定會工作。需要考慮的事情有:

當用戶進行2次或更多次更改而沒有先前的批准更改時會發生什麼?他可能會改變不同的屬性,或者對先前更改的屬性進行另一個更改。系統必須能夠將這些更改合併到一起,因爲它們將從不同的基礎(不同的模型)分支。

也許更好的解決方案是有一個當前的配置文件和等待批准配置文件(WTBA)。

  1. 當沒有需要批准的更改時,用戶將看到當前的配置文件。
  2. 用戶進行更改,系統將創建一個WTBA配置文件。
  3. 用戶看到WTBA配置文件(但沒有其他人)。
  4. 用戶進行了另一項更改,系統將保存對WTBA配置文件的更改(不創建新配置)。
  5. 主持人批准WTBA配置文件,此時WTBA成爲當前和我們回到#1。