领域驱动的总体设计方法

本文关键字:方法 | 更新日期: 2023-09-27 18:29:27

我的问题与以下内容有关:

如果我有一个管理用户的类,让我们称之为UserManager。在新用户注册更新配置文件的情况下,它是否应该负责更新数据库中的用户(类似于使用存储库接口的RegisterUserUpdateUser方法)?

我认为这项任务可以委托给另一个班。类似于UserSubscription类,用于处理与UserRepository相关的调用(事件)。我想象这个UserSubscription类具有方法(让我们称它们为UpdateUserSubscribeUser),这些方法从UserManager类接收ValueObject,并使用它们来更新注册用户。我认为UserSubscriptionUserManager类可以在应用层中的相同聚合

领域驱动的总体设计方法

我认为您可能正在寻找存储库模式:

使用用于访问域对象的类集合接口。

存储库的职责应该是以通用的方式加载/存储/更新用户(在数据库/其他存储中)。有关更多详细信息,请参阅Repository Pattern Step-by-Step解释。

如果您的UserManager只是这样做,那么它应该是一个UserRepository。但是,如果UserManager的任务不同,它应该使用UserRepository来处理用户的存储。