MVC中的service层是干嘛的?

概述

mvc框架由model,view,controller组成,执行流程一般是:在controller访问model获取数据,通过view渲染页面。

mvc模式是web开发中的基础模式,采用的是分层设计,各层之间职责分明。然而事与愿违,当我们日积月累的基于mvc模式开发之后,会逐渐的感受到层与层之间存在粘连和职责模棱两可的地方,这就是service层出现的重要原因。

问题是什么?

问题的本质是:业务逻辑粘连了C层和M层,应该从C层&M层解耦出来,成为独立的Service层。
在C层直接实现业务逻辑,缺点:
1. 不同的controller之间,无法共享通用的业务逻辑,比如:折扣计算。

  1. 业务逻辑升级,需直接在原代码上做修改兼容,导致controller代码不断膨胀复杂。

service层的作用:

service是业务层,是使用一个或多个模型执行操作的方法。
1. 封装通用的业务逻辑,操作。
如一些数据的检验,可以通用处理。
2. 与数据层的交互。
3. 其他请求:如远程服务获取数据,如第三方api等。

补充:

  1. Model和Service验证方面
    Model校验:某些字段不能为空等数据层的校验
    Service验证:逻辑层的校验,避免一些不合理的出现,尤其是调用多个模型
  2. ci框架扩展service
    http://www.cnblogs.com/SLchuck/p/5804555.html
  • 13
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值