MVC(Model-View-Controller)是一种常见的软件设计模式,用于将应用程序的逻辑和界面分离成三个不同的组件。每个组件负责特定的任务,从而提高代码的可维护性和可扩展性。
以前的模式。
遇到复杂的业务没有什么是加一层解决不了的
现在的结构
servlet--CRUD-->数据库
弊端:程序十分臃肿,不利于维护
servlet的代码中:处理请求、响应、视图跳转、处理JDBC、处理业务代码、处理逻辑代码
架构:没有什么是加一层解决不了的!
程序猿调用
|
JDBC
|
Mysql Oracle SqlServer ....
1.1. 模型(Model):
- 模型是应用程序的核心部分,负责处理业务逻辑、数据操作和状态管理。
- 模型层包含了应用程序的数据模型和相关的业务逻辑,它独立于用户界面和用户输入。
- 模型可以是一个对象、一个集合、数据库访问对象等,它们封装了数据和与数据相关的操作。
业务处理:业务逻辑(Service)
数据持久层:CRUD
1.2. 视图(View):
- 视图层负责展示数据给用户,并接收用户的输入。
- 视图通常是用户界面的一部分,可以是一个网页、一个图表、一个报表等。
- 视图从模型中获取数据并将其呈现给用户,同时也将用户的输入传递给控制器。
展示数据
提供链接发起 Servlet 请求(a,form,img…)
1.3. 控制器(Controller):
- 控制器充当模型和视图之间的中介,负责协调它们之间的交互。
- 控制器接收用户的输入并根据输入调用适当的模型方法进行处理。
- 控制器还负责更新视图的状态,并将最终的结果返回给用户。
接收用户的请求:(req:请求参数、Session 信息…)
交给业务层处理对应的代码
控制试图的跳转
MVC 的工作流程如下:
登录—>接收用户的登录请求—>处理用户的请求(获取用户登录的参数,username,password)---->交给业务层处理登录业务(判断用户名密码是否正确:事务)—>Dao层查询用户名和密码是否正确–>数据库
- 用户与视图进行交互,触发了某个事件(比如点击按钮)。
- 视图将事件传递给控制器。
- 控制器接收到事件并根据事件的类型选择合适的模型方法进行处理。
- 模型完成业务逻辑的处理,并返回处理结果给控制器。
- 控制器更新视图的状态和显示结果给用户。
通过使用 MVC 三层结构,开发人员可以将应用程序的不同部分分离开来,使得代码更加清晰、可维护性更高。模型、视图和控制器各自独立,可以单独进行测试和修改,而不会对其他组件产生影响。这种分层结构也促进了团队协作,不同开发人员可以并行开发不同的组件。