我正在开发一个应用程序,并将转向DDD (更具体地说,Onion ),包括以下几个层:表示(分为GUI和CLI)、基础设施、应用程序、域
域实体在CLI或GUI中呈现给用户,用户可以设置一系列不同的配置,这些配置保存在JSON文件中。有些配置用于持久化配置,比如是使用JSON文件还是使用数据库来使用本地文件存储。对于本地存储,用户可以设置磁盘上的默认保存位置。
当将实体呈现给用户时,如果将JSON文件保存到磁盘,则还需要显示特定实体的JSON文件的保存位置。
由于持久化主题不应包含在域中,所以我想知道如何处理这些配置,并将有关保存位置的信息从基础设施层传递到表示层。我的理解是,应用层应该非常薄,并且只包含服务,并且不应该包含任何关于持久性的细节。
是否可以在应用程序层中创建配置模型,基础结构层和表示层都可以使用该模型?
发布于 2021-11-28 22:10:02
当然,这样做是有可能的(如果您正计划利用一个框架,您将希望选择一个不强制执行这种限制的框架)。
DDD通常建议不要这样做,因为在大多数情况下,像这样的关注点与您试图解决的问题无关。但在这种情况下,持久化似乎是您正在该领域中建模的东西。
实际上,让持久化受限上下文与自己的洋葱一起使用,并让其他有界上下文使用它(例如,在它们的基础结构层中),这可能是最有用的。
https://stackoverflow.com/questions/70146766
复制相似问题