1

嗨,我有带有属性状态的文档类(例如 doc.Status),情况如下:当状态属性设置为确认时,我想创建另一个相关文档。当文档状态设置为未确认时,我想删除该相关文档(如果存在)。实现这一目标的最佳方法是什么?在属性设置方法中设置 if 子句或在属性值发生更改时使用相同的 if 子句触发事件?

4

4 回答 4

1

我肯定会选择活动解决方案。这将使您的解决方案更加解耦,并且如果您将来希望这样做,它将使您可以更轻松地在代码中的其他位置使用该功能。

于 2012-08-14T06:42:43.840 回答
1

这在很大程度上取决于您的应用程序。通常,您的模型(我假设您的文档类所属的地方)不应该包含业务逻辑。它应该只提供允许对数据进行基本操作的数据、方法和回调。

您最好实现自己的事件并以您需要的任何方式在业务逻辑中处理它。

于 2012-08-14T06:44:24.637 回答
1

这取决于您想要为您的功能实现的行为。

1)在 set 属性中使用“If 子句”: 在此方法中,一旦编译了文档类,就无法更改行为,因为 set 属性会变成硬编码。因此,如果唯一要做的事情是创建和删除相关文档,那么这种方法更可取。

2)为“status”属性的更改创建事件: 当您想将“status”属性的任何更改后执行的操作与文档类分离时,应使用此功能。如果“status”属性改变后要执行的业务逻辑在编译文档类时没有决定,那么这种方法是可取的。

这是你的选择!!

于 2012-08-14T06:50:10.403 回答
0

“有办法”是生成一个事件并将一个方法连接到它,这将创建另一个文档。如果其他人为您的代码提供服务,这将是一种更具解释性的方式来了解您的意图。

于 2012-08-14T06:39:31.583 回答