领域驱动的总体设计方法
本文关键字:方法 | 更新日期: 2023-09-27 18:29:27
我的问题与以下内容有关:
如果我有一个管理用户的类,让我们称之为UserManager
。在新用户注册或更新配置文件的情况下,它是否应该负责更新数据库中的用户(类似于使用存储库接口的RegisterUser
、UpdateUser
方法)?
我认为这项任务可以委托给另一个班。类似于UserSubscription
类,用于处理与UserRepository
相关的调用(事件)。我想象这个UserSubscription
类具有方法(让我们称它们为UpdateUser
、SubscribeUser
),这些方法从UserManager
类接收ValueObject
,并使用它们来更新或注册用户。我认为UserSubscription
和UserManager
类可以在应用层中的相同聚合。
我认为您可能正在寻找存储库模式:
使用用于访问域对象的类集合接口。
存储库的职责应该是以通用的方式加载/存储/更新用户(在数据库/其他存储中)。有关更多详细信息,请参阅Repository Pattern Step-by-Step解释。
如果您的UserManager只是这样做,那么它应该是一个UserRepository。但是,如果UserManager的任务不同,它应该使用UserRepository来处理用户的存储。