我有一个实体,相当于一个任务,可以有多个状态。 “任务”可以处于未决状态,已通过状态或失败状态。这些州中的每一个也都有一些独特的数据。例如,在失败的状态下,实体应该有失败的原因,在待决状态下它应该有评估的最后期限等。我应该如何建模一个有多个状态的实体?
尽管上面的内容让我想我应该有一个单独的对象来表示每个国家,实体的底层标识都应该保持不变,这促使我将其视为一个单一的对象。
另外,从状态到状态的转换需要一些逻辑。转变为“通过”状态的“未决”任务将与进行相同转换的“失败”任务的处理方式不同。
如果每个状态的表示都完全相同,那么我只是使用一个原始属性并完成它。然而,由于不同的州有不同的表述,我一直在努力找出建模的最佳方法。控制内部状态的逻辑变得有点混乱,所以我想我会退后一步并重新考虑。有什么想法吗?
我使用c#虽然我认为这种语言是不可知的。
我对这种模式很熟悉。从我的理解以及我如何使用它,它在运行时改变对象的行为是最有帮助的。有了这个问题,我认为,更重要的是管理对象表示的差异。 我可能会在这里一般地咆哮错误的树。解释这个问题帮助我找出了一些不兼容的目标。 – 2010-01-25 17:59:57