分层的架构在不同的关联层次之间建立了一种统一的接口,当需要更改某一层的代码时,不会影响到其他的层。这种分层的结构也定义了各个层次之间的依赖关系,其基本规则如下:
1 层次之间是一种从上到下的通信关系。任何一层都只依赖于它的直接下层。
2 任何层都只与自己的直接下层有关联。
划分层的方法因程序而异。一种典型的,被经常采用的结构通常包括3层,包括持久层,表示层,以及业务层。
让我们更仔细的看一下图中各个层以及其中的元素:
1 表示层:面向用户的接口在最上面。这个层的代码负责页面的表示以及画面的迁移等等。
2 业务层:这一层在不同的系统中的定义有很大的不同。一般来说,业务层实现的是问题域中的业务规则或者系统需求。在一些系统中,业务层有着属于其自身的实体模型,在其他系统中,也有业务层使用持久层的实体的情况。我们会在第三章中继续讨论这个话题。
3 持久层:位于持久层中的类和模块负责在数据源中进行数据的存取。持久层中包含业务实体模型是十分必要的(即使那只是元数据模型)。
4 数据库:数据库不包含在Java的范围中。它是系统状态实际保存的地方。如果使用的是SQL数据库的话,那么数据库会包含关系schema,当然也有可能有忖出过程。
5 帮助/工具类:每个应用程序都会有一组帮助/工具类来帮助各层的应用程序更好的完成它们的任务。这些基础的元素并不构成独立的层次,因此它们也不需要遵守上面提到的那些层次依赖规则。
那么现在就让我们来看看在Java中实现持久层的几种方式吧。不用担心,我们很快就会进入到ORM和Hibernate。在那之前,学习一下其他的实现方式也是很有必要的。