gpt4 book ai didi

c# - 洋葱架构、持久化和通知

转载 作者:行者123 更新时间:2023-11-30 14:50:00 25 4
gpt4 key购买 nike

我正在研究洋葱架构,我有一个观点。

洋葱架构旨在将域与技术工件隔离开来。因此,准则是让数据访问层 (DAL) 引用域层 (BL)。这样,我应该能够将实体转换为存储工件。引用 BL 可能会给我域的“快照”,但如果没有更改跟踪系统,我将丢失所有按时间顺序排列的事件,以了解是否插入、更新或删除数据存储中的项目,以便能够正确地补水之后的模型。

洋葱架构是否总是需要一些变更跟踪系统,甚至是事件存储之类的东西?我是否遗漏了任何其他模式?

最佳答案

领域层是否知道何时需要持久化?

例如,我可能有一个新/更新客户屏幕,当我按下完成时,它会保存一个新客户。那时我不关心更改跟踪,我只想存储我拥有的所有内容。我的 DAL 可以确定我是否已经在数据库中拥有同名客户(如果它应该发出插入或更新查询)。

同样的事情也适用于事件存储。如果您的领域关心事件,能够撤消事件等等,如果技术实现是事件存储,

可能会发生的情况是,您的领域层始终由一个完整的内存中实时变异系统组成。在那种情况下甚至没有快照。

洋葱架构只是描述了工件的分离。它们是哪些工件实际上取决于特定要求。

关于c# - 洋葱架构、持久化和通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37865073/

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