开发者社区> 问答> 正文

将尽可能多的业务处理放在业务逻辑层

已解决

今天看了你的《代码分层的设计之道》,有个有疑问需要请教下。我们要将尽可能多的业务处理放在业务逻辑层,参数校验为什么不在 Controller 层呢?

展开
收起
景凌凯 2020-04-22 17:48:44 1355 0
1 条回答
写回答
取消 提交回答
  • 有点尴尬唉 你要寻找的东西已经被吃掉啦!
    采纳回答

    放在 Controller 层有两个问题,一个是如果被多个 Controller 层的方法调用就失去复用性。另外,一般参数校验和实例组装又耦合在一起,所以 Controller 会存在大量这样的代码,导致“坏味道”。当然,可以考虑通过 Hibernate Validator 解决问题。但是,本质上的思想是尽可能将通用的逻辑下层哟。业务逻辑层返回类型是 BO 对象,那么如果参数校验失败,怎么把具体哪个参数校验失败信息返回呢?一般情况下,我们会抛出自定义运行时异常,异常信息通过错误枚举类来控制。

    2020-04-22 17:48:54
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
典型业务逻辑漏洞挖掘 立即下载
动态、高效,蚂蚁动态卡片的内核逻辑 立即下载
为并行图数据处理提供高层抽象/语言 立即下载