【发布时间】:2014-08-12 15:34:44
【问题描述】:
在我的项目中,我有一个操作存储库的服务层。服务层由我的控制器调用。
在许多情况下,我的控制器层能够在传入信息进一步进入系统之前对其进行验证。然而,在某些情况下,由于提交的数据无效,但仅在我的服务层内的某个点,可能会出现错误。
考虑到这一点,假设我正在执行用户注册流程:
- 不允许使用重复的用户名
- 可以提供用户名
- 如果没有提供用户名,则根据名字和姓氏生成
这意味着生成(如有必要)和检查重复用户名的过程在服务层进行。
如果出现重复,我向调用者(无论是控制器、后台任务还是其他服务)发回信号的最解耦和最理想的方式是什么?
- 用户名字段有问题
- 如果适用,生成的用户名
理想情况下,建议的方法能够应用于其他服务中发生的错误,以便我可以提出一致的方式来报告并处理调用层中的错误。
【问题讨论】:
标签: architecture service-layer decoupling onion-architecture