zoukankan      html  css  js  c++  java
  • 浅谈MVC中的service层(转)

    概述

    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

  • 相关阅读:
    PYTHON核心编程第7章 7.5题
    openssl大漏洞
    运维之路
    组件嵌套+Mixin函数demo
    React初识(按钮点击+输入绑定)
    vue切换按钮(关闭消失型)
    动态发表之后的显示时间
    展开全部的实现
    前端进行后台数据的处理
    将项目上传到git上,并在测试服务器上运行
  • 原文地址:https://www.cnblogs.com/shixiuxian/p/10647624.html
Copyright © 2011-2022 走看看