我正在使用领域驱动设计。
我有以下模型(类):
- 用户
- 用户DAO
- 用户存储库
- 用户服务
我知道 UserService 应该包含所有相应的应用程序逻辑。所以我得到了signUp()
,logIn()
和update()
里面的方法。
我的signUp()
方法是注册用户,但在违反电子邮件唯一约束时抛出 PDO 异常。现在,由于异常仅针对异常错误并且对控制流不利,我的问题是:
方法是否emailExist()
允许在 UserService 类中?
所以我可以先在我的控制器中调用它(如果电子邮件已经存在,我可以用表单错误报告),然后再实际注册用户。我知道这种方法实际上属于数据映射器,但由于它们不应该直接在控制器中使用,我考虑将它添加到我的 UserService 类中,然后从那里将它映射到我的存储库的findByEmail()
方法。