我试图通过一个例子来理解六边形架构Repository
。在这个设置中,我有以下几层:框架(基础设施)-> 应用程序-> 域。
我User
在域部分,假设我想User
通过DuplicateUsernameValidator
. 为了获得这些信息,我需要从某个地方获得这些信息。我UserRepository
在领域层又增加了一个接口,这样就可以在上面的层解决了。
这对我来说是棘手的部分。我想实现 的逻辑UserRepository
,但对我来说,在应用层实现它没有意义,因为持久性上下文在基础设施层(例如JdbcUserRepository
或JpaUserRepository
)。但是如果我正确理解了六边形结构,我就不能UserRepository
直接在我的基础设施层中实现接口,因为基础设施层不应该知道域层。
我错过了什么?