我想从社交网络应用中建模Post
对象,避免状态的组合爆炸。例如,我可以使用超级published
作为子状态commented
,liked
,reported
等。问题是发布的帖子可以是{{1 }},commented and liked
等我并不想创建这些人工组合状态。嵌套它们也不是一个好的解决方案,因为这些子状态之间没有顺序或层次结构,最终会导致组合增加问题。正交区域似乎也不是解决方案。有线索吗?
答案 0 :(得分:0)
您可能根本不需要此状态,除非您需要限制可能的事件或对事件有不同的行为。在帖子上发表评论或“喜欢”是否真的改变了你可以对帖子做的任何事情?
通常,复杂性爆炸的正交状态表明您需要更准确地反映问题域中的内容,并且每个类都需要自己独立的状态机。
您可能需要的是用于评论的状态机(例如,添加,编辑,删除),用于“喜欢”的状态机(例如,添加,缩回,恢复)等等。