Java应用分层架构及软件模型

一、应用程序的分层体系结构

表述层、业务逻辑层、数据库层、

1.1.1区分物理层和逻辑层

物理分层:每一层运行在网络上的单独的机器节点上。分布式软件系统。

逻辑分层:每一层由相对的软件模块来实现,完成特定功能。

1.1.2软件层的特征

  • 每一层由一组相关类或组件构成,共同完成特定的功能
  • 层与层之间存在自上而下的依赖关系,上层组件访问下层组件的API,下层不应该依赖上层。即解耦。
  • 每一层对上层公开API

1.1.3Java应用的持久层

为了把数据访问细节和业务逻辑分开,可以把数据访问作为单独的持久化层。

持久化层利用ORM软件,例如:Hibernate作为中间组件

(中间组件:应用程序和其他软件系统之间的连接管道,Hibernate可以看成Java应用与关系数据库的管道)

那持久化层封装了数据访问细节,有什么好处呢?

  • 代码重用性高
  • 能够支持多种数据库平台
  • 相对独立,改变不会影响上层的实现

二、软件模型

1、概念模型

用来模拟问题域中的真实实体(建模),描述 每个实体的概念和属性,以及实体之间的关系。

2、关系数据模型

基于概念模型,用于描述关系数据的静态结构

内容组成:(表的组件不要包含业务意义)

扫描二维码关注公众号,回复: 40200 查看本文章

  • 一个或多个表
  • 表的所有索引
  • 视图
  • 触发器
  • 表与表之间的参照完整性

3、域模型

在概念模型基础上创建,域模型面向对象。

组成:

具有行为和状态的域对象

域对象之间的关系

4、域对象(Domain Object)

对真实世界的实体的软件抽象。

    实体域对象:POJO(需要持久化)

    过程域对象:代表业务逻辑或流程。如:客户发出订单、登入应用等作为过程域对象

    事件域对象:代表应用的一些事件(异常、警告、超时等)

5、域对象之间的关系

    1.关联:指类之间的引用关系。(有点类似Spring中的DI)

    2.依赖

    3.聚集:类似关联

    4.一般化:类之间的继承

6、域对象的持久化概念

  • 在内存中表现为实体域对象,及域对象之间的各种关系
  • 关系数据库中表现为表,及表与表之间的参照关系 

猜你喜欢

转载自blog.csdn.net/weixin_41826727/article/details/80035879