Gar*_*y F 5 domain-driven-design
我正在尝试为 Web 应用程序的服务器端代码坚持域驱动设计。此应用程序允许用户上传文件,然后处理它们。然后,用户可以下载原始文件、过程的日志文件或包含错误记录的文件。
我有一个名为 import 的域模型,它具有 FileName 属性,并且该文件的物理位置取决于用户 ID 等,即在动态构建的文件夹结构中。
显然域模型不应该知道文件存储,因为那是基础设施,所以我正在考虑创建一个基础设施服务,它采用导入域模型并检索各种文件。
然后这将文件存储与域模型分开,但阻止我向域模型询问其文件,即我本来希望导入域模型给我它的错误文件或原始文件等。
我使用基础设施服务是否正确,或者是否有更好的方法来使用域模型,即注入处理文件读取等的类,或者是否有更好/更正确的方法来做到这一点?
问候,加里
如果您希望文件本身成为域的一部分,而不是有关存储细节的知识,则合适的方法是依赖倒置原则:
定义一个域服务接口,该接口能够返回给定导入域对象的文件。确保以文件明显是聚合的一部分的方式设计聚合,即避免它们自由浮动。
现在,您可以在基础设施层中实现该接口,并将所有存储逻辑放入其中。通过 DI 机制将实现连接到接口。
| 归档时间: |
|
| 查看次数: |
1434 次 |
| 最近记录: |