Loading

MVC三层设计模式

MVC三层设计模式

MVC三层设计模式是一种常用的软件架构模式,它将应用程序分为三个主要部分,分别是模型(Model)、视图(View)和控制器(Controller)。这种模式的核心思想是分离应用程序的界面、数据和处理逻辑,以达到更高的可维护性和可扩展性。

典型的MVC就是:JSP+servlet+javabean

具体来说,MVC三层设计模式包含以下三个层次:

1. 模型层(Model):负责处理应用程序的数据和业务逻辑。它通常包含一个或多个数据源,例如数据库或文件系统,以及相应的数据访问和更新方法。

2. 视图层(View):负责显示应用程序的用户界面。它通常采用HTML、CSS和JavaScript等Web技术,将数据呈现给用户,并处理用户的交互操作。

3. 控制器层(Controller):负责协调模型层和视图层之间的交互。它接收用户的输入并调用相应的模型操作来更新数据,然后将更新后的数据提供给视图层进行显示。

以上三个层次互相独立,它们之间通过一定的协议进行通信,以达到更好的松耦合效果。这种设计模式对于大型项目来说特别重要,可以方便地对各个模块进行单独的开发和测试,同时也更容易管理和扩展。

应用了MVC三层设计模式的web项目:

一.模型层一般会有Bean类,Dao类,和Util类;

 介绍一下这三种类:

<1>Util 类

Util 类通常用于提供一组常用且不复杂的帮助函数,它不属于业务逻辑模块,而是用于支撑整个应用系统的一些通用操作和工具函数的集合。

Util 类的作用主要有以下几个方面:

1. 提供通用函数库:比如字符串转换、时间格式转换、数字格式转换等。这类函数非常通用且常用,可以在整个应用系统中得到重复利用。

2. 提高程序复用度:Util 类中的一些函数一般都是通用性非常高的,比如字符串处理函数、时间转换函数、加密解密函数等,这些函数可以被多个模块和程序重复使用,从而可以提高开发的效率和程序的复用度。

3. 简化代码编写:Util 类可以封装一些常用的代码块,使得开发人员可以直接使用,从而减少代码编写的时间和工作量。

4. 提高程序性能:Util 类中的函数有可能会进行一些性能优化,使得整个应用程序的性能得以提高。同时,Util 类可以减少代码中的重复计算,从而提高程序的效率和性能。

Util 类可以提供一些通用性的函数、工具方法,封装一些常用的逻辑代码块,以提高程序复用度、简化代码编写、提高程序性能等,是一种非常实用和通用的开发工具类。

 一般我们会将数据库连接的部分写在这个类里;

<2>Dao 类

Dao (Data Access Object) 类是用于访问数据库的对象,它通常负责封装和实现与数据库相关的操作,并且提供了对数据的CRUD操作。Dao 类的主要作用是将业务逻辑层与数据访问层进行分离,使得业务逻辑层专注于处理业务逻辑,而数据访问层专注于数据的存取,以提高代码的可维护性和可重用性。

Dao 类的核心作用包括以下几个方面:

1. 封装数据存储层:Dao 类隐藏了数据库的底层实现细节,使得业务逻辑层无需关注数据的存储细节,从而简化了业务逻辑层的编写。

2. 提供数据访问接口:Dao 类提供了对数据的CRUD操作接口,为业务逻辑层提供数据访问接口。

3. 实现数据访问逻辑:Dao 类实现了数据的实际操作逻辑,包括数据的新增、删除、修改和查询等操作。

4. 支持多种数据源:Dao 类可以支持多种数据源,包括关系型数据库、NoSQL 数据库、文件系统等,使得应用程序可以更加灵活地处理多种数据和数据源场景。

5. 简化数据库访问操作:Dao 类可以对数据库访问操作进行封装,简化对数据库的访问操作,从而提高代码的可维护性和可重用性。

Dao 类是负责封装数据存储层,提供数据访问接口,并实现数据访问逻辑的对象。它的主要作用是将业务逻辑层与数据访问层进行分离,帮助开发人员更加专注于业务逻辑的处理,提高代码的可维护性和可重用性,是实现数据访问及数据处理能力的关键所在。

 一般我们会将CRUD增删改查方法放在这个类里;

<2>Bean类

Bean类是指一种轻量级的Java对象,其主要作用是封装业务逻辑和数据,以便可以在不同的程序模块中复用。

Bean类通常具有以下特点:

1. 具有私有的属性和公有的 Getter / Setter 方法,用于控制对属性的访问和修改;
2. 具有无参的构造方法,以便可以通过 Java 反射机制构造对象;
3. Bean类可以实现 `java.io.Serializable` 接口,以便在网络传输和存储过程中将对象数据序列化和反序列化。

在Java Web应用程序中,Bean类通常用于封装表单数据、数据库查询结果等,以便于在应用程序的各个部分之间进行数据传递和共享。例如,当用户提交一个表单时,表单数据可以通过 Bean 类对象进行封装,然后在应用程序的各个模块中进行操作和处理。

举例来说,考虑一个简单的用户登录页面,用户需要输入用户名和密码,然后点击“登录”按钮进行验证。在这种情况下,可以创建一个名为 `UserBean` 的 JavaBean 类,封装这两个字段的数据。然后,您可以在登录页面中使用 `UserBean` 作为 `form` 元素的数据模型,将用户的输入数据传递到后台的 Servlet 或 Controller 中进行验证和处理。这样,就可以避免在 servlet 或 controller 中分别处理每个表单字段,而可以将它们封装为一个对象。

 二.控制器层

一般来说这里就是后端的servlet,在这里处理前端的请求,将处理后的数据供给给视图层;

 三.视图层

这里就是我们前端使用的HTML和JSP页面,是直接和用户交互的层面;

 总览

 

posted @ 2023-05-27 00:08  冰稀饭Aurora  阅读(3164)  评论(0编辑  收藏  举报