ToB企服应用市场:ToB评测及商务社交产业平台

标题: java web mvc-01-Model-View-Controller 概览 [打印本页]

作者: 刘俊凯    时间: 2024-7-29 22:10
标题: java web mvc-01-Model-View-Controller 概览
拓展阅读

Java Servlet 教程-20-自己手写实现 spring mvc 团体思路
Java Servlet 教程-21-自己手写 spring mvc 简单实现
Spring Web MVC-00-重学 mvc
mvc-01-Model-View-Controller 概览
mvc-02-structs 先容
web mvc-03-JFinal
web mvc-04-Apache Wicket
web mvc-05-JSF JavaServer Faces
web mvc-06-play framework intro
web mvc-07-Vaadin
web mvc-08-Grails
从零手写组件系列

java 从零手写 spring ioc 控制反转
java 从零手写 spring mvc
java 从零手写 jdbc-pool 数据库连接池
java 从零手写 mybatis
java 从零手写 hibernate
java 从零手写 rpc 远程调用
java 从零手写 mq 消息组件
java 从零手写 cache 缓存
java 从零手写 nginx4j
java 从零手写 tomcat
MVC 是什么?

MVC(Model-View-Controller)是一种软件设计模式,旨在将应用程序的内部逻辑分离成三个重要组件,以进步代码的可维护性和可扩展性。
每个组件负责不同的任务,互相之间解耦,使得应用程序更容易明白和修改。
1. 模子(Model):

模子是应用程序的数据和业务逻辑的表示。它负责处理数据的存储、检索、更新以及业务规则的实行。模子不依赖于用户界面或控制流程,而是专注于处理应用程序的数据和业务逻辑。在典型的应用中,模子通常包含数据库访问、文件操作、远程服务调用等。
2. 视图(View):

视图是用户界面的表示,负责呈现模子的数据给用户以及吸取用户的输入。视图通常是被动的,它根据模子的状态自动更新。视图并不直接处理用户输入或应用程序的业务逻辑,而是将这些任务委托给控制器。在 Web 应用中,视图可以是 HTML 页面、CSS 样式表等。
3. 控制器(Controller):

控制器是处理用户输入并相应地更新模子和视图的组件。它充当模子和视图之间的中介,负责和谐用户界面的相应和数据的更新。当用户与应用程序举行交互时,控制器捕获用户输入并调用适当的方法来更新模子或视图。在 Web 应用中,控制器通常是处理 HTTP 请求的组件。
工作流程:

这个分层布局使得每个组件都可以独立开辟和测试,同时保持彼此之间的解耦。这种模式使得应用程序更容易扩展和维护,因为修改一个组件不会影响其他组件的功能。
示例:

考虑一个简单的购物车应用:
  1. User Input -> Controller -> Model (Update) -> View (Update) -> User Output
复制代码
MVC 模式的灵活性和分离关注点的设计使其在各种软件应用中广泛应用,包括桌面应用、Web 应用和移动应用。
为什么必要 mvc?有什么优势?

MVC 架构被广泛采用的缘故原由是它提供了许多优势,使得软件开辟更加模块化、可维护和可扩展。
以下是一些使用 MVC 的优势:
总体而言,MVC 架构的引入使得软件开辟更加模块化、灵活和可维护,有助于构建健壮、可扩展的应用程序。
java 的 mvc 框架对比

Java 的 MVC 框架有很多,以下是一些常见和盛行的 Java MVC 框架:
框架重要特点和设计理念适用场景Spring MVC- 继承 Spring 框架,强盛的生态体系
- 注解驱动的开辟
- 高度可定制化企业级应用程序,大型项目Struts 2- 继承自 Struts 框架
- 拦截器机制
- 标签库和表单验证Web 应用程序,中小型项目JSF- JavaServer Faces 规范
- 组件化开辟方式
- 夸大可重用组件复杂的用户界面,企业级应用程序Play Framework- 相应式编程
- 简化开辟流程,约定大于配置
- 支持 Scala 语言快速开辟,轻量级 Web 应用,RESTful 服务Vaadin- 用 Java 编写用户界面逻辑
- 服务器端渲染
- 数据绑定和组件化企业级应用程序,必要强盛用户界面的项目Grails- 基于 Groovy 的框架
- 领域特定语言(DSL)
- 使用 Spring MVC快速开辟,Groovy 语言,中小型项目Apache Wicket- 面向对象的编程方式
- 组件化开辟,面向组件编程
- 服务器端渲染复杂的用户界面,面向对象的设计,中小型项目JFinal- 基于 Java 的轻量级框架
- 简单易用,约定大于配置
- ActiveRecord 模式快速开辟,中小型项目
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4