如果每个服务只有一个存储库,那么任何数据访问都必须通过相应的服务业务逻辑。
例如,
$userService->addUser() will call $userRepository->addUser()
then send an email to the user
如果用户存储库由用户服务以外的其他服务使用。然后另一个服务可以调用
$userRepository->addUser() directly and no email will be sent
所以为了安全起见,如果另一个服务需要访问用户表,他们应该使用用户服务而不是用户存储库。服务可以依赖于多个服务,但它应该只依赖于一个存储库。
你有什么想法?