我實現了我自己的域模型的版本控制(在更新操作期間跟蹤對象的差異)。領域模型具有樹形結構。例如。 (- >是參考)域模型的版本控制
A
|-> B
|-> C -> A
| -> C
爲版本控制需求以下:
- 獲取該組域對象的兩個版本之間的改變的字段;
- 域模型具有樹形結構;
- 字段可以在列表中組織。在下面的示例性系統應該顯示Y元素中除去(但除去不是Z和Y改變其狀態上Z)和X變爲:
[ v1 ] [ v2 ]
A A
|-> [X, Y, Z] |-> [X, Z]
|-> C |-> M
- 有喜歡鎖定沒有更多的要求/合併/分支。
我調查了在同一個對象的兩個狀態之間獲取變更集的方式。我與Java一起工作,並對現有的方法/解決方案感興趣。例如。我在尋找subversion用來創建下一個版本的算法的描述。
我很樂意從您那邊得到任何理論或實踐建議。
感謝
添加了更多特定要求。 – Raman
我無法幫助您瞭解顛覆算法的內部,但我仍然認爲我的方法是有效的,讓您的每個類都負責檢測內部的更改並將其傳播到根對象。對我而言,它尚未闡明你想要對變更集做什麼,只是將其打印出來或以某種方式處理它? –
是的,只是打印更改集就足夠了。對於我來說,如何比較列表中的重新排序有一個問題 - 似乎裏面的每個元素都應該有一個id。 – Raman