gpt4 book ai didi

c# - DDD : Where should I set modified date and modified by? 存储库还是应用程序服务?

转载 作者:太空狗 更新时间:2023-10-30 00:38:50 27 4
gpt4 key购买 nike

我应该在哪里设置像 CreatedDate、CreatedBy、ModifiedDate、ModifiedBy 这样的字段?我应该将当前用户上下文传递到存储库并将其设置在那里,还是更好的方法是在应用程序服务中设置它(但它必须在每个 API 方法中完成,而不是仅在存储库中的添加/更新中完成)?

最佳答案

这取决于您的域。

如果像 CreatedDateCreatedBy... 这样的值用于跟踪或记录目的,那么我会将它们放在 Infrastructure 中(存储库)。

另一方面,如果这些值出于任何原因属于我的域,那么我会将它们放在域层中。

示例:假设在银行转帐环境中,客户只能在提交结算后 24 小时内取消转帐。然后域需要 CreateTransferDate 来满足不变量。

另一种选择可能是使用所有域事件并保存所发生事件的历史时间数据的监听器。

关于c# - DDD : Where should I set modified date and modified by? 存储库还是应用程序服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37877448/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com