DDD:Repository和UnitOfWork的生命周期问题
UnitOfWork
UnitOfWork是一种有状态的、用例级别的对象。如果不采用ORM是不会使用UnitOfWork模式的,
Repository
Repository是一种特殊的领域服务,因此是无状态的、全局单例的。
Repository和UnitOfWork之间的关系
在一个用例中,一个UnitOfWork为多个Repository提供服务,也就是说Repository依赖UnitOfWork,但是无状态对象不能依赖有状态的对象,因此我们需要引入另外一个类型:UnitOfWorkFactory,该工厂是一种特殊的服务(无状态、全局单例),它保证创建会话级别的UnitOfWork。

本文探讨了领域驱动设计(DDD)中Repository和UnitOfWork的概念及其生命周期。UnitOfWork被视为一种有状态的、用例级别的对象,而Repository则作为一种无状态的、全局单例的特殊领域服务存在。文中还介绍了如何通过UnitOfWorkFactory解决Repository依赖于UnitOfWork的问题。
254

被折叠的 条评论
为什么被折叠?



