使用 Idea 开发工具写 Java Web 项目时,一个中型或者大型项目随着代码的增多,会发现:代码既可以写在 src 目录下,也可以写在 Webapp 目录下。src 下可以建很多包 ,Webapp下可以建很多文件夹。
所以问题就来了:一个新的类或者到底往哪个目录下的哪个文件夹里写?
此时解决办法就是:需要一个模式去规范,到底哪个类该往哪里写。
什么是三层架构所谓的三层开发就是将系统的整个业务应用划分为表示层—业务逻辑层—数据访问层,这样有利于系统的开发、维护、部署和扩展。
表示层:负责直接跟用户进行交互,一般也就是指系统的界面,用于数据录入,数据显示等。意味着只做与外观显示相关的工作,不属于他的工作不用做。
业务逻辑层:用于做一些有效性验证的工作,以更好地保证程序运行的健壮性。如完成数据添加、修改和查询业务等;不允许指定的文本框中输入空字符串,数据格式是否正确及数据类型验证;用户的权限的合法性判断等等,通过以上的诸多判断以决定是否将 *** 作继续向后传递,尽量保证程序的正常运行。
数据访问层:顾名思义,就是用于专门跟数据库进行交互。执行数据的添加、删除、修改和显示等。需要强调的是,所有的数据对象只在这一层被引用,除数据层之外的任何地方都不应该出现这样的引用。
Java 对象包 | 描述 |
---|---|
PO | 持久层对象 |
VO | 视图对象 |
DTO | 数据传输对象 |
BO | 业务对象 |
POJO | 简单无规则 java 对象 |
DAO | 数据访问对象 |
分层是为了实现“高内聚、低耦合”。采用“分而治之”的思想,把问题划分开来各个解决,易于控制,易于延展,易于分配资源。
使用三层架构开发的优点-
开发人员可以只关注整个结构中的其中某一层。
-
可以很容易的用新的实现来替换原有层次的实现。
-
可以降低层与层之间的依赖。
-
有利于标准化。
-
利于各层逻辑的复用。
-
降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。
-
有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。
类别 | 描述 |
---|---|
src | 存放Java代码 |
entity | 存放实体类 |
dao | 数据层接口,用于执行与数据库相关的 *** 作 |
dao.impl | 数据层的接口实现类 |
service | 业务层接口,用于业务的处理 |
service.impl | 业务层的接口实现类 |
controller | 控制层,用于和前端页面进行交互【Servlet】 |
util | 工具类 |
filter | 过滤器 |
listener | 监听器 |
test | 测试类 |
resources | 描述项目中的资源 |
webapp | web 相关资源 |
WEB-INF | 无法通过 URL 访问的文件夹 |
MVC (Model View Controller)是软件工程中的一种软件架构模式,它把软件系统分为模型、视图和控制器三个基本部分。用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。此模式透过对复杂度的简化,使程序结构更加直观。
-
模型:管理大部分的业务逻辑和所有的数据库逻辑。模型提供了连接和 *** 作数据库的抽象层,提供了基本的增、删、改、查和事务处理 *** 作。
-
控制器:负责响应用户请求、准备数据以及决定如何展示数据,提供项目的业务逻辑封装。
-
视图:负责渲染数据,通过HTML方式呈现给用户。MVC 模式实现了前端和后端的分离,这样在协同开发中每个人负责单一的职责部分,前端工程师只需负责前端页面展现部分代码的编写,后端开发人员只需关心动态代码的业务逻辑编写即可。
采用 MVC 架构系统的程序执行流程一般是由 Controller 截获用户发出的请求,调用 Model 完成状态的读写 *** 作,Controller 把数据传递给 View,View 渲染最终结果并呈献给用户。
框架 什么是框架框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义。
框架要解决的问题框架要解决的最重要的一个问题是技术整合的问题,在 J2EE 的 框架中,有着各种各样的技术,不同的软件企业需要从 J2EE 中选择不同的技术,这就使得软件企业最终的应用依赖于这些技术,技术自身的复杂性和技术的风险性将会直接对应用造成冲击。而应用是软件企业的核心,是竞争力的关键所在,因此应该将应用自身的设计和具体的实现技术解耦。这样,软件企业的研发将集中在应用的设计上,而不是具体的技术实现,技术实现是应用的底层支撑,它不应该直接对应用产生影响。
软件开发的分层重要性框架的重要性在于它实现了部分功能,并且能够很好的将低层应用平台和高层业务逻辑进行了缓和。为了实现软件工程中的“高内聚、低耦合”。把问题划分开来各个解决,易于控制,易于延展,易于分配资源。我们常见的 MVC 软件设计思想就是很好的分层思想。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)