IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    浅谈MVC

    Ivan Cai发表于 2014-11-01 13:21:00
    love 0

    MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。

    • 控制器Controller:起到不同层面间的组织作用。负责转发请求,对请求进行处理。
    • 视图View:实现数据有目的的显示。GUI设计,网站的话就是HTML模板。
    • 模型Model:业务逻辑、算法、数据结构。

    在早期的JSP、PHP网页中,像SQL这样的数据层代码和像HTML这样的表示层代码是混在一起的。开发者一会儿要写PHP,一会儿还要写SQL查询语句,一会儿还要设计网页。MVC可以从根本上强制性地将它们分开。尽管构造MVC应用程序需要一些额外的工作,但是它带给我们的好处是毋庸置疑的。

    首先,多个视图能共享一个模型。业务逻辑和表示层分离,同一个模型可以被不同的视图重用,所以大大提高了代码的可重用性。

    其次,团队协作更加方便。前端程序员负责写好JS、CSS、HTML后把展示数据的地方预留出来告知后端。后端程序员只需要渲染模板、填充数据即可。

    最后,MVC模式提高了应用程序的灵活性和可配置性。替换模板、数据库等等变得更加的方便。

    过去MVC模式并不适合小型甚至中等规模的应用程序,这样会带来额外的工作量,增加应用的复杂性。但现在多数软件设计框架,能直接快速提供MVC骨架,供中小型应用程序开发,此问题不再存在。对于开发存在大量用户界面,并且逻辑复杂的大型应用程序,MVC将会使软件在健壮性、代码重用和结构方面上一个新的台阶。尽管在最初构建MVC模式框架时会花费一定的工作量,但从长远的角度来看,它会大大提高后期软件开发的效率。

    Python有许多的 MVC 架构,其中Django就是一个常用的实现。

    Ruby on Rails是通过Ruby语言所开发出来的Web Framework,也是采用MVC架构。Rails还有Migration机制。在修改你的Model时不必直接操作数据库,Rails会生成Migration脚本,放到服务器上跑一下就可以了。如此一来,在所有的测试、生产服务器上就可以轻易同步最新的数据库结构。同时Migration是独立于数据库系统的,这样就不必操心不同的数据库系统的语法差异了。



沪ICP备19023445号-2号
友情链接