DDD。用户可配置设置在哪里?

时间:2011-10-11 21:40:03

标签: domain-driven-design cqrs

我正在研究我的第一个“真正的”DDD应用程序。

目前,我的客户端无法访问我的域层,并通过发出命令请求更改域。

然后我有一个单独的(扁平的)读取模型用于显示信息(如简单的CQRS)。

我现在正在进行配置,或者特别是用户配置的设置。以博客应用程序为例,设置可能是博客标题或徽标。

我开发了一个通用配置构建器,它基于一个简单的键值对集合构建一个强类型配置对象(例如BlogSettings)。我坚持认为这些配置对象是否属于我的域。我需要从客户端和服务器访问它们。

我正在考虑创建一个包含这些配置对象的“共享”库。这是正确的方法吗?

最后,保存此类配置设置的代码应该在哪里?一个简单的解决方案是将此代码放在我的Domain.Persistence项目中,但是,如果它们不属于域,那么它们真的应该存在吗?

谢谢,

1 个答案:

答案 0 :(得分:10)

用户可配置的设置属于域,如果它们是强类型的并且基于普遍存在的语言建模,即'BlogSettings'。设置与其他域对象之间的唯一区别是概念设置是“域单例”。它们没有像其他实体那样的生命周期,只能有一个实例。

通用配置构建器属于Persistence,就像负责保存和读取设置的代码一样。