对于我们必须在系统中实现的复杂工作流,我需要一些设计建议:
在基本级别上,该应用程序允许用户处理她所关心的“项目”的“列表”。
要在任何列表上工作,用户可以“锁定”列表,并可以编辑/保存/解锁等等。在用户界面中,没有人可以在用户界面中打开相同的列表以进行编辑,而该列表是锁定的。
我需要设计的新场景是谎言
的列表间接更新由其他人用公共项锁定的列表的特性
此操作将允许任何已锁定列表的用户对该列表中的某个项进行某些更新,使其能够对包含该项的每个列表进行“鱼雷”更新(即使它们被另一个用户锁定)。该项目必须全面更新,如果用户正在编辑包含该项目的列表,则所有其他用户都应该在屏幕上看到该更新。
所以我的设计是:
问题是:它如何处理被用户-B锁定的列表-2?
我真的很难在这里找到一个好的解决方案,而不是引入大量的种族条件。
发布于 2020-06-05 08:04:53
什么是清单?它是关于一组项目如何相互组织的元数据。
什么是物品?相关属性的Nexus。
这个问题其实是两个问题:
看来你已经控制住了。
看起来你的目标是一个乐观的锁,A.K.A.第一次穿最好的衣服。
每个人都可以在本地编辑该项目,当他们去保存它时,第一个通过它的人被接受了,其他人得到一个礼貌的“它已经更新了,再试一次”。
你可以用一些额外的信息来修饰最后一部分,比如改变了什么,也许是自动合并。
https://softwareengineering.stackexchange.com/questions/411077
复制相似问题