DDD-值的收集



我有一些中间件代码,从外部API获取产品列表。我正在对响应进行建模,并将该响应返回给我的代码的客户。

我代码的任何客户都不关心返回的单个产品的细节:他们只想收集产品。

如何使用DDD建模?

每个产品属性都有一个值对象,一个产品一个实体和一个包含所有产品的存储库?

为什么不使用cqrs(https://learn.microsoft.com/en-us/azure/azure/architecture/patterns/cqrs(。

将模型分为读取模型。在您的情况下,读取模型会做到。使他们成为Pocos。在读取方面,我们不需要使用DDD战术建模工具。

有关更多信息,请访问我提供的链接。

我认为您快到了,您的中间件(外部API(可以通过找到方法和返回产品模型来是存储库。

建议将存储库成为一个接口(例如生产者(,以使代码更具测试。您可以对测试(例如生产培训testimpl(和中间件通信的主要实现(例如productrepostioryimpl(。

进行简单实现。

对于包装,我更喜欢以下内容:

domain
      model
            product
                    |Product
                    |ProductRepository
infrastructure
              persistence
                          YOUR_EXTERNAL_API_NAME
                                                 |ProductRepositoryImp
                          eclipselink
...
   test
        ...
            |ProductRepositoryTestImpl

您应该像external bounded context一样看到外部API。您的local bounded context将使用将术语从远程限制的上下文转换为本地上下文的anti-corruption layer。因此,您的代码实际上是anti-corruption layer

现在,您是否应该将这些产品持续为entitiesvalue objects?这取决于您的本地用法。您是否修改这些产品。如果您不修改它们,则它们是Value objects

在任何情况下,您都可能必须使用repository来持久/重新推荐产品。

相关内容

  • 没有找到相关文章

最新更新