zoukankan      html  css  js  c++  java
  • 再理下系统分层架构模式

    MVC是横向分工;三层架构,是纵向分层。

    在大多数架构图中,MVC被画成三角形,View是使用者能够看到并操作的层(可能是Web页面,也可能是GUI),Controller是处理各种操作请求的核心,Model是用于保存各种数据,并且会影响View的显示结果。

    而三层架构,通常会被画成上中下三层,上层是前端;中层是业务逻辑;底层是数据存储。

    从这个介绍来看,MVC与三层架构的确似乎存在对应关系。在很多简单项目中,我们可以将业务逻辑写在Controller里,而保存数据的逻辑也无非是数据库的表与Mode的简单对应而已。

    但是,随着项目越来越复杂,我们发现业务逻辑已经非常复杂,把所有的代码写在Controller里,是一种糟糕的实践,因此:我们将关键的业务逻辑抽取出来,形成一个独立的业务逻辑层。而且,这一层往往以某种Service API的方式,被Controller调用。

    另一方面,我们也发现数据越来越多,越来越大,越来越复杂。简单的ORM已经不够用了,必须编写更加独立、通用的数据访问层。这时候,就需要改写原来的Model,对于上层应用而言,使用方式保持不变。

    还有一些重要的技术发展,产生在前端领域,尤其是We前端的JS框架、CSS、HTML5等等技术,使得在前端,出现了完整的“前端MVC”,或者现在叫“前端MVVM”了。

    大概是这么一个发展的路径,要详细谈的话,就太多了。

  • 相关阅读:
    ASP.NET零碎
    My97DatePicker 和转换 数据库中日期(/Date(1351699200000)/) 的格式
    生成验证码
    自己封装的AJAX (带JSON)
    WebForm
    配置进程外Session
    使用Xcode和Instruments调试解决iOS内存泄露
    IOS block 教程<转>
    iOS app支付宝接口调用的一点总结(补充支付宝SDK&Demo下载地址)
    支付宝在ios应用上的开发[转]
  • 原文地址:https://www.cnblogs.com/fx2008/p/4067288.html
Copyright © 2011-2022 走看看