• MVC


    MVC是三个单词的缩写,分别为: 模型(Model),视图(View) 和控制Controller)。 MVC模式的目的就是实现Web系统的职能分工。 Model层实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现。 View层用于与用户的交互,通常用JSP来实现。 Controller层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映 射为模型层可执行的操作。

    使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据你可以分别用柱状图、饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。

    模型-视图-控制器(MVC)是Xerox PARC在八十年代为编程语言Smalltalk-80发明的一种软件设计模式,至今已被广泛使用。最近几年被推荐为Oracle旗下Sun公司Java EE平台的设计模式,并且受到越来越多的使用 ColdFusion 和 PHP 的开发者的欢迎。模型-视图-控制器模式是一个有用的工具箱,它有很多好处,但也有一些缺点。

    开发方式

    Java开发Web Application

      Java开发Web Application有几种符合MVC设计模式的开发方式。   1:Jsp+Servlet+JavaBean(EJB)   2:Jsp+JavaBean(Controller)+JavaBean(EJB)(Model)   3:TDK(Turbine,Velocity...)   4:Xsp   5:Jsp+Struts+JavaBean(EJB)   6:SSH (Struts + Spring + Hibernate)

    .NET开发Web Application

      .NET开发Web Application可以采用:   1:ASPNET MVC Framework(ASPNET MVC )   2:MonoRail (RC3)   3:ASPNET MVC2

    php 开发Web Application

      php 开发Web Application 可以采用:   1. Zend framework PHP官方框架   2. fleaphp/Qeephp 等国内流行框架   3. CakePHP 等国外流行框架   4. ThinkPHP 等其他框架

    常见的MVC组件

    Struts: Apache的,最流行的MVC组件   

    Struts2 :Apache用Struts 和 WebWork的组合出来的新产品,目前上升势头强劲   

    WebWork: 这个可是老牌的MVC组件,后来组合成了Struts2, 不过自身仍在发展   

    Spring MVC:SpringFramework自己整合自己Spring的优势推出的MVC组件,用户也不少   

    JSF: 这个是一个规范,Sun的和 Apache的都有各自的实现。用户量很大,被众多IDE支持。   

    Tapestry: 最彻底的MVC开发框架,丰富的组件资源,重用性很高。组件扮演着控制器Controller的角色,是模式层(Model) 中pure-domain objects和包含有组件的HTML模板之间的媒介。大多数情况下,这种方式应用于页面(页面也 是 Tapestry组件),但是在某些情况中,一个组件拥有自己的模板,包含着更多的组件,并且支持与使用者的互交。页面通过配置一系列属性表达式 (Property expressions)连接模式层和表现层。属性表达式使用另外一种开源框架OGNL(Object Graph Navigation Language)。OGNL的开源工程(project)独立于Tapestry,但是在Tapestry中起很重要的作用。OGNL主要的目的在于读 取和更新对象的Java Bean属性。   

    .net mvc:在.net上的mvc组件,经过了preview1~5,RC1,RC2,目前已经是正式版了,微软给出的定义是可以用于生产的架构。配合VS2008以及VS2010,相信.net mvc将会是MVC家族的重要的一员。

  • 相关阅读:
    JEECG 不同(角色的)人对同样的字段数据,使用不同的字段验证规则
    CRM系统设计方案
    MySql concat与字符转义
    MYSQL 三元 函数
    Linux watchdog
    Prometheus & SoundCloud
    Docker存储驱动Device Mapper,Overlay,AUFS
    linux的nohup命令
    Eclipse Todo Tasks 任务试图
    Mysql drop function xxxx ERROR 1305 (42000): FUNCTION (UDF) xxxx does not exist
  • 原文地址:https://www.cnblogs.com/avenxia/p/2282609.html
Copyright © 2020-2023  润新知