我在属性文件中有我的文本验证消息。您如何考虑从密钥中获取消息?由基础架构实现的域服务接口?或者实现是否也存在于域中?
在红皮书中,当传递给例外时,文本消息是文字的。他们属于域名。
但是如果我们处理messages.properties文件的密钥呢?你会怎么做?
谢谢。
答案 0 :(得分:1)
消息不太可能是域本身的一部分。想一想谁将推动对消息的更改。它是领域专家还是营销/用户体验用户,表明应该改变特定的信息,以便更好地向客户传达意义?
如果您必须创建一个新的B2B客户端,您是否预计某些消息必须更改?这是否意味着域名发生了变化?
我建议保持域中的异常尽可能独立于外部表示。所以,不要说throw new PaymentProcessingException("Insufficient funds")
考虑throw new InsufficientFundsPaymentProcessingException()
。然后,您可以使用应用程序代表性边缘的基础结构服务将特定异常转换为正确的消息。