Controller/Service/Model类各司其职。
Controller接口对外暴露,一组接口就是用户手中的一个遥控器,每个接口对应一个按键。用户并不关心点击按键的低层操作。
按键调用Service中的方法,执行业务逻辑,每个业务逻辑或一组业务逻辑都涉及到或多或少的Model类。Service是各个Model外观。
1、尽量无状态、单一职责,关联其它业务就注入其他业务用的Service。
2、例如UserService 只操作跟User相关的业务逻辑,BlogService只处理跟Blog相关的业务。
3、如果要查询这个用户的所有Blog,那需要通过BlogController去调用BlogService里getUserBlogList(userId)
4、如果综合查询分析和大业务 涉及N个表操作的,针对这个综合业务创建一个业务Service,注入所需关联的其他单个业务操作的Service,在综合业务Service里 调用处理。
5、这样单机应用 到分布式 微服务 都可以轻松扩展,有时候微服务了 controller层可以不要,使用Service注册到服务调度中心,远程调用即可,此时单一职责很重要。
6、其他。。。