j2ee系统构架

来源:互联网 发布:c语言2017到2117闰年 编辑:程序博客网 时间:2024/05/21 08:52
很多时候,真理总是那样简洁,朴质,没有长篇大论。我在学习很多东西的时候,都希望找到一篇言简意赅的文章,能让我领悟这个领域的关键,至于细节,我可以借助GOOGLE和工具书完成。在j2ee系统构架领域,这正是本文希望做到的。

J2EEjava在数据库和网络上的一种应用。

j2ee系统构架的核心问题是进行逻辑分层,分层结构让系统松耦合。人们在这个领域的所有努力都是为了让软件易于开发,扩展和维护。目前,j2ee系统已经形成了成熟的六层分层模式,即:表现层,控制层,业务层,DAO层,持久化层和数据库层。各层都封装了各自的实现细节,且单层的实现是非常简单的。既然我们将系统分层了,如何让各层既能良好的通信,又能松散耦合?

我们知道,在java中,万事万物都是以class类文件封装的,万事万物的通信,都是对象之间的通信。j2ee各层的通信,实际上就是各层对象之间的通信。如何恰到好处的创建所需的对象,成为了系统的关键——只要创建了对象,调用他们的方法,就可以通信了。

目前有两种处理方式,第一种是实用接口和工厂模式,第二种是使用Spring

系统设计的时候,思维应该从下到上,上层依赖下层,下层封装了实现细节,只对上层曝露接口。

数据层:数据库,持久化对象(PO)储存的媒介。
持久层:映射到数据库对应的表,以便以面向对象设计和思维。
DAO层:封装了将持久化对象和数据库的各种SQL操作
业务层:把业务逻辑封装为一个对象。这个对象可以包括一个或多个其它的对象。
比如一个简历,有教育经历、工作经历、社会关系等等。
我们可以把教育经历对应一个PO,工作经历对应一个PO,社会关系对应一个PO
建立一个对应简历的BO对象处理简历,每个BO包含这些PO
这样处理业务逻辑时,我们就可以针对BO去处理。
控制层:参数的处理和数据流程的跳转。
表现层:提供用户接口,收集用户操作信息,相应用户操作返回信息。

这六层各自负责各自的职责,既独立,又合作,完成对业务的操作。

j2ee系统,其实就是一个不断封装(隐藏)的系统,有的隐藏是为了让系统松耦合,有的隐藏是为了简化系统的开发。j2ee中,在jdkjre中隐藏了底层操作。web容器和ejb容器也是在隐藏,对象文档模型也是隐藏。

为了让开发人员不再被一些乱七八糟的实现细节隐藏,人们做了很多努力,比如中间件,各种框架,以及各种互助工具。目前已经取得很大的进步。既然实现细节隐藏了,对开发人员要求的重点从具体编写代码转移到了业务分析领域。即使现在,J2EE的主要问题,也已经转移到了业务上来。在拥有一定的编程基础和经验的同时,竞争体现为对业务理解的深度。
原创粉丝点击