akka.net - 如何在 Akka.Net 中对 DDD 业务对象结构进行建模?

标签 akka.net

对于一个想象的层次结构建模为:

Tenancy

    TenancyUser

        TenancyUserAccounts

            TenancyUserAccount

                TenancyUserAccountItems

                    TenancyUserAccountAccountItem

或者层次结构可以更简单地实现为:

Tenancy

    TenancyUser

        TenancyUserAccount

            TenancyUserAccountAccountItem

我将如何在代码中将其表示为 Akka.net 中 Actors 的层次结构?

我有 DDD 背景,我确信一旦我了解它,这是一个直截了当的飞跃。实际上,问这样一个基本简单的问题感觉有点尴尬,但你去吧。新 Shiny 等等。

谢谢!

最佳答案

这很难说,因为 DDD 至少需要一定程度的领域专业知识,这是建模的。一般来说,您通常以 1-1 的方式将聚合根实例映射到参与者,即假设您的 TenancyUser 是一个聚合根,它当时正好由一个有状态的参与者化身表示。它层次结构下的所有实体都不是参与者,只是普通对象。

将每个域实体映射到单独的参与者是没有意义的,因为根据 DDD 原则,对聚合依赖实体的所有操作都应通过聚合根本身完成。

关于akka.net - 如何在 Akka.Net 中对 DDD 业务对象结构进行建模?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32389394/

相关文章:

c# - 在 Akkanet 中使用依赖注入(inject)时如何传递 actor 依赖

f# - 如何在 F# Akka.NET Actor 中存储状态?

asp.net - akka.net 在 azure asp.net 网站中进行缩放

akka - 在Akka.NET中,(使用Akka.Cluster)如何配置多个种子节点(Lighthouse)相互了解?

c# - 为什么我应该将 Sender 闭包与 PipeTo() 一起使用?

akka - Akka.NET 和原始 Akka 可以使用 Remoting 进行通信吗?

f# - 在 akka.net actor{} 表达式中等待 F# 异步任务

akka.net - 如何限制Akka.net系统的内存消耗?

c# - Akka.NET 参与者和包装器(可能与 Rx 一起使用)

c# - 如何在 Akka.NET 中使用 TestKit