刚刚开始接触一点J2EE的东西,看到了关于J2EE应用的分层模型这块知识点,简单地做一下记录,方便之后回顾
一. 分层模型(主要分为5大层)
1. Domain Object层(领域对象层)
一般为传统JAVA对象,用来包含各自所需要实现的业务逻辑方法。它贯穿表现层、业务层和持久层,并最终被持久化到数据库中。领域对象使数据库表操作以面向对象的方式进行,为程序的扩展带来了更大的灵活性。
2. DAO 层(数据访问对象层)
这一层由一系列的DAO组件组成,这些DAO实现了对数据库的创建,查询,更新和删除等操作。
3. 业务逻辑层
这一层由一系列业务逻辑对象组成,这些对象实现了系统所需要的业务逻辑方法,可能依赖于Domain Object层和DAO层组件实现的方法。
4. 控制器层
此层由系列控制器组成,用于得到用户的请求,调用业务逻辑组件的业务逻辑方法,处理用户请求,并转发到不同的表现层组件。
5. 表现层
此层主要由JSP页面,Velocity页面,PDF文档视图组件组成,负责收集用户请求并显示出结果。
二. J2EE MVC介绍
在J2EE中MVC各部分的代表,我觉得可以分为下面几种:
1:Jsp+Servlet+JavaBean(EJB)
2:Jsp+JavaBean(Controller)+JavaBean(EJB)(Model)
3:Jsp+Struts+JavaBean(EJB)
Model层实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现。
View层用于与用户的交互,通常用JSP来实现。
Controller层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。
二. J2EE MVC的优缺点
每个技术都是有优缺点的,MVC也不例外~~
优点:
1.各施其职,互不干涉
在MVC模式中,三个层各施其职,所以如果一旦哪一层的需求发生了变化,就只需要更改相应的层中的代码而不会影响到其它层中的代码。
2.有利于开发中的分工
在MVC模式中,由于按层把系统开,那么就能更好的实现开发中的分工。前端设计人员可以进行开发视图层中的JSP(表现层),对业务熟悉的开发人员可开发业务层,而其它开发人员可开发控制层。
3.有利于组件的重用
分层后更有利于组件的重用。如控制层可独立成一个能用的组件,视图层也可做成通用的操作界面。以后开发其他项目的时候有一些可以再复用。
缺点:
1.MVC的缺点是由于它没有明确的定义,所以完全理解MVC并不是很容易。
2.使用MVC需要精心的计划,由于它的内部原理比较复杂,所以需要花费一些时间去思考。你将不得不花费相当可观的时间去考虑如何将MVC运用到你的应用程序,同时由于模型和视图要严格的分离,这样也给调试应用程序到来了一定的困难。每个构件在使用之前都需要经过彻底的测试。一旦你的构件经过了测试,你就可以毫无顾忌的重用它们了。