三层架构&MVC

三层架构&MVC,第1张

三层架构 引言

使用 Idea 开发工具写 Java Web 项目时,一个中型或者大型项目随着代码的增多,会发现:代码既可以写在 src 目录下,也可以写在 Webapp 目录下。src 下可以建很多包 ,Webapp下可以建很多文件夹。

所以问题就来了:一个新的类或者到底往哪个目录下的哪个文件夹里写?

此时解决办法就是:需要一个模式去规范,到底哪个类该往哪里写。

什么是三层架构

所谓的三层开发就是将系统的整个业务应用划分为表示层—业务逻辑层—数据访问层,这样有利于系统的开发、维护、部署和扩展。

表示层:负责直接跟用户进行交互,一般也就是指系统的界面,用于数据录入,数据显示等。意味着只做与外观显示相关的工作,不属于他的工作不用做。

业务逻辑层:用于做一些有效性验证的工作,以更好地保证程序运行的健壮性。如完成数据添加、修改和查询业务等;不允许指定的文本框中输入空字符串,数据格式是否正确及数据类型验证;用户的权限的合法性判断等等,通过以上的诸多判断以决定是否将 *** 作继续向后传递,尽量保证程序的正常运行。

数据访问层:顾名思义,就是用于专门跟数据库进行交互。执行数据的添加、删除、修改和显示等。需要强调的是,所有的数据对象只在这一层被引用,除数据层之外的任何地方都不应该出现这样的引用。

Java 对象
描述
PO持久层对象
VO视图对象
DTO数据传输对象
BO业务对象
POJO简单无规则 java 对象
DAO数据访问对象
为什么使用三层架构

分层是为了实现“高内聚、低耦合”。采用“分而治之”的思想,把问题划分开来各个解决,易于控制,易于延展,易于分配资源。

使用三层架构开发的优点
  1. 开发人员可以只关注整个结构中的其中某一层。

  2. 可以很容易的用新的实现来替换原有层次的实现。

  3. 可以降低层与层之间的依赖。

  4. 有利于标准化。

  5. 利于各层逻辑的复用。

使用三层架构开发的缺点
  1. 降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。

  2. 有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。

项目结构
类别描述
src存放Java代码
entity存放实体类
dao数据层接口,用于执行与数据库相关的 *** 作
dao.impl数据层的接口实现类
service业务层接口,用于业务的处理
service.impl业务层的接口实现类
controller控制层,用于和前端页面进行交互【Servlet】
util工具类
filter过滤器
listener监听器
test测试类
resources描述项目中的资源
webappweb 相关资源
WEB-INF无法通过 URL 访问的文件夹
MVC

MVC (Model View Controller)是软件工程中的一种软件架构模式,它把软件系统分为模型、视图和控制器三个基本部分。用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。此模式透过对复杂度的简化,使程序结构更加直观。

  • 模型:管理大部分的业务逻辑和所有的数据库逻辑。模型提供了连接和 *** 作数据库的抽象层,提供了基本的增、删、改、查和事务处理 *** 作。

  • 控制器:负责响应用户请求、准备数据以及决定如何展示数据,提供项目的业务逻辑封装。

  • 视图:负责渲染数据,通过HTML方式呈现给用户。MVC 模式实现了前端和后端的分离,这样在协同开发中每个人负责单一的职责部分,前端工程师只需负责前端页面展现部分代码的编写,后端开发人员只需关心动态代码的业务逻辑编写即可。

采用 MVC 架构系统的程序执行流程一般是由 Controller 截获用户发出的请求,调用 Model 完成状态的读写 *** 作,Controller 把数据传递给 View,View 渲染最终结果并呈献给用户。

框架 什么是框架

框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义。

框架要解决的问题

框架要解决的最重要的一个问题是技术整合的问题,在 J2EE 的 框架中,有着各种各样的技术,不同的软件企业需要从 J2EE 中选择不同的技术,这就使得软件企业最终的应用依赖于这些技术,技术自身的复杂性和技术的风险性将会直接对应用造成冲击。而应用是软件企业的核心,是竞争力的关键所在,因此应该将应用自身的设计和具体的实现技术解耦。这样,软件企业的研发将集中在应用的设计上,而不是具体的技术实现,技术实现是应用的底层支撑,它不应该直接对应用产生影响。

软件开发的分层重要性

框架的重要性在于它实现了部分功能,并且能够很好的将低层应用平台和高层业务逻辑进行了缓和。为了实现软件工程中的“高内聚、低耦合”。把问题划分开来各个解决,易于控制,易于延展,易于分配资源。我们常见的 MVC 软件设计思想就是很好的分层思想。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/917283.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-16
下一篇 2022-05-16

发表评论

登录后才能评论

评论列表(0条)

保存