我正在尝试为我正在工作的项目中的业务对象想出一个可重用的警告机制。在保存我们的某些业务对象之前,有时我们需要警告用户可能会产生的影响。比如说我的业务对象名为“公司”。Company.Delete()将删除该公司,并不关心发生了什么。这个特定的公司可能有10,000名员工,如果意外地把他们辞退了,他们会感到非常失望...
因此,界面需要一种方式来查看类似以下的内容:
- 删除“公司A”将使10,000名工人失业。 - 删除“公司A”将使1,000,000股东持有无用的股票。
所以我可以创建一个像Company.GetWarnings()这样的函数,返回一些字符串以供显示,但我希望有更好的方法。如果Company.GetWarnings()返回了上面的第一个警告,则我希望界面能够知道这个警告的含义。例如,如果第一个警告出现了,界面将知道它的含义,并通过提供一个链接来处理这种情况,例如:
- 删除“公司A”将使10,000名工人失业。 - 您是否想为这些员工寻找新的工作?'点击这里'
或者另一个业务对象可能会使用Company.GetWarnings(),并且知道一些工人将被辞退,它可以自动发送解雇补偿金。你明白我的意思...
因此,我想这个要求听起来很容易,但我在细节上有点迷失了。主要是,我可以给GetWarnings()什么样的结构,以便它返回:
- 警告消息。 - 一些标识它是什么类型的消息的方式。
让我来问一个问题:
有没有人有任何最佳实践、示例或建议来实现这种警告系统?我主要关注第2点。将会有大量不同类型的警告消息,所以我不想只返回比如说...一个字典,其中int是警告类型的ID。那样会很快变得难以管理。
感谢您能提供的任何建议。
因此,界面需要一种方式来查看类似以下的内容:
- 删除“公司A”将使10,000名工人失业。 - 删除“公司A”将使1,000,000股东持有无用的股票。
所以我可以创建一个像Company.GetWarnings()这样的函数,返回一些字符串以供显示,但我希望有更好的方法。如果Company.GetWarnings()返回了上面的第一个警告,则我希望界面能够知道这个警告的含义。例如,如果第一个警告出现了,界面将知道它的含义,并通过提供一个链接来处理这种情况,例如:
- 删除“公司A”将使10,000名工人失业。 - 您是否想为这些员工寻找新的工作?'点击这里'
或者另一个业务对象可能会使用Company.GetWarnings(),并且知道一些工人将被辞退,它可以自动发送解雇补偿金。你明白我的意思...
因此,我想这个要求听起来很容易,但我在细节上有点迷失了。主要是,我可以给GetWarnings()什么样的结构,以便它返回:
- 警告消息。 - 一些标识它是什么类型的消息的方式。
让我来问一个问题:
有没有人有任何最佳实践、示例或建议来实现这种警告系统?我主要关注第2点。将会有大量不同类型的警告消息,所以我不想只返回比如说...一个字典,其中int是警告类型的ID。那样会很快变得难以管理。
感谢您能提供的任何建议。