MVC中的service层是干嘛的?
来源:互联网 发布:2017网络融资骗局大全 编辑:程序博客网 时间:2024/04/29 10:03
概述
mvc框架由model,view,controller组成,执行流程一般是:在controller访问model获取数据,通过view渲染页面。
mvc模式是web开发中的基础模式,采用的是分层设计,各层之间职责分明。然而事与愿违,当我们日积月累的基于mvc模式开发之后,会逐渐的感受到层与层之间存在粘连和职责模棱两可的地方,这就是service层出现的重要原因。
问题是什么?
问题的本质是:业务逻辑粘连了C层和M层,应该从C层&M层解耦出来,成为独立的Service层。
在C层直接实现业务逻辑,缺点:
1. 不同的controller之间,无法共享通用的业务逻辑,比如:折扣计算。
- 业务逻辑升级,需直接在原代码上做修改兼容,导致controller代码不断膨胀复杂。
service层的作用:
service是业务层,是使用一个或多个模型执行操作的方法。
1. 封装通用的业务逻辑,操作。
如一些数据的检验,可以通用处理。
2. 与数据层的交互。
3. 其他请求:如远程服务获取数据,如第三方api等。
补充:
- Model和Service验证方面
Model校验:某些字段不能为空等数据层的校验
Service验证:逻辑层的校验,避免一些不合理的出现,尤其是调用多个模型 - ci框架扩展service
http://www.cnblogs.com/SLchuck/p/5804555.html
阅读全文
1 0
- MVC中的service层是干嘛的?
- 表单中的enctype属性是干嘛的
- python中的.idea文件夹是干嘛的
- C++中的#和##是干嘛用的
- @override是干嘛的?
- Hadoop是干嘛的
- 程序是干嘛的
- maven是干嘛的?
- log4j是干嘛的
- maven是干嘛的?
- _u32是干嘛的
- eclipse 中的Task List 到底是干嘛的
- 大学生是干嘛来的?
- spring是用来干嘛的
- ContentProvider是干嘛用的?
- 公司总监是干嘛的
- extenc "C" 是干嘛的?
- loadView是干嘛用的?
- python django环境变量配置
- 给Java新手的一些建议——Java知识点归纳(Java基础部分)
- Java循环中remove方法的使用
- 114. Flatten Binary Tree to Linked List
- 【Tomcat9源码分析】源码下载、编译与调试
- MVC中的service层是干嘛的?
- Linux gdb debug 常用命令
- Qt设计滑动条
- U3D录音以及保存为wav格式文件
- T
- 判断元素出栈合法性
- 【C++】String类拷贝构造函数——浅拷贝优化的三种方式(引用计数)
- dwt和wavedec区别
- linux下安装配置mysql