工作单元对干净的体系结构(DDD)有意义吗?还是仅仅是存储库就足够了



我想问,在一个项目中,按照领域驱动的设计理念和干净的体系结构使用存储库的工作单元是否有意义,或者它没有更多意义,通用存储库模式是否足够?

Martin Fowler将工作单元描述为

维护受业务事务影响的对象列表,并协调更改的写入和并发问题的解决。

工作单元模式列在";第11章:对象关系行为模式;在他的书中。因此,它适用于存储库的实现。

在DDD中,您定义聚合,通常将聚合根传递给存储库以保存它。现在,如果存储库使用工作单元,则取决于它的实现,因为它必须协调发送到数据库的多个语句的执行,或者不协调。也许您使用的是面向文档的NoSQL数据库,而只是发布序列化的聚合。在这种情况下,您不必协调操作,因为只有一个更新操作-put请求。

我认为工作单元模式在干净的体系结构中仍然有意义,但仅在存储库实现中有意义。

相关内容

最新更新