|
|
1
2
“……”业务规则出于某种原因决定您需要授权代码。域层是如何进行通信的?” 这就是API的用途。你有几个选择。
“我为可能发生的事情的爆发而奋斗……这个列表可以继续下去,“事实上,它没有。只需定义一个适合问题域的适当API。 如果——出于某种原因——您担心无法定义API,那么您也无法定义问题。 “但是……”例如,一些有颜色或MSDS的物品呢?配置对话怎么样?
您不会弹出新对话框。使用单独的用户界面和业务规则,您现在可以做两件事:
您没有添加大量代码。业务规则属性是几行代码。用户界面检查是一行代码。 |
|
|
2
1
某个地方的UI必须在某个时刻将信息传递到业务层。不管您是否正在经历一个中间对象,比如控制器。业务层需要确定采购订单是否处于有效状态。如果没有,则返回说明问题所在的信息。这可以通过purchaseorder.addLineItem方法调用或purchaseorder.validate方法进行。我的首选项是从PurchaseOrder.AddLineItem方法返回验证信息,这样您就可以确定对象状态在那里无效。 |
|
|
3
1
演示者或控制器,取决于您是否知道MVC或MVP,而不是域,域将断言(防御编码)是所有需要的值都可以的,或者抛出一个异常,而不是请求它。 所以假设你没有提供数字,你的模型抛出了一个authorizationNumberRequiredException,然后你的演示者从那里处理它。因此,您的域没有耦合到表示者,它只是抛出错误,表示者必须知道如何处理它,但它不会复制逻辑。 |
|
|
4
0
我读了更多的书,发现了 Notification Pattern 来自马丁·福勒,他似乎也打算解决这个问题 Domain Centric Validation with the Notification Pattern 杰里米·米勒。 这是福勒对通知的描述,它非常准确地描述了我正在寻找的内容:
|