...以及如何最好地处理视图层的成功/失败反馈。

选项有:

doBusinessLogic(things)

或者

for (Thing thing : things) {
  doBusinessLogic(thing)
}

假设我们想要一个以一致的方式接收成功/错误反馈的视图层(即从对值对象的单个或多个操作),最好的方法是什么?

澄清:

处理视图层中业务逻辑调用引发的多种异常类型的代码量很大,并且还会导致维护问题(引入了表示层不知道的新异常)。对于业务逻辑调用来说,处理多个值对象上的错误并将它们“打包”以便视图以一致的方式处理似乎更好。

有帮助吗?

解决方案

与你的后一个建议类似的事情怎么样:

for (businessObject : businessObjects) { businessObject.doBusinessLogic() }

这个想法是将业务逻辑放在业务对象的方法中。您的视图层可以循环遍历所有业务对象,告诉每个对象执行其业务。每个业务如何做是在业务层业务对象的逻辑中。您可以通过从 doBusinessLogic 方法返回值或针对出现的不良情况抛出异常来处理错误等。

如果您正在执行跨业务对象逻辑(即,对多个业务对象进行操作的逻辑),也许您可​​以构建一个businessObjectManager 类,该类可以具有接受一个或多个业务对象并对其进行操作的方法。因此,通过将管理器对象放在业务层中,您仍然将所有业务逻辑保留在业务层中。

其他提示

最后我去选择前者,并创造了一个轻量级的通用的“结果捆绑”类,封装于对象的集合成功和行动的失败。成功或失败键接到相应的对象标识符

一个bundlesis每个业务逻辑调用内部填充并返回到视图层。在'上执行的对象的动作的业务逻辑环抛出的异常被捕获并添加到结果束(键合到对象ID)相应的故障。

视图层具有呈现包含在结果束给用户的反馈的简单的辅助方法。

此工作得很好。

我觉得你用这个方法是什么最适合您的系统。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top