2

根据我正在阅读的书,在三层架构(表示,应用程序,存储)中,存储层负责照顾系统中数据的持久存储。如果是这样,我认为实体类在应用层。对吗?存储层中有哪些类?实体类和存储层的类有什么区别?你能给我一些例子吗?

4

2 回答 2

2

这里没有一个真理。人们有不同的看法,也有自己的定义。

您已经用 UML 标签标记了您的问题,但 UML 没有定义诸如“存储层”或“实体类”之类的东西。

您已使用“ecb-pattern”标签标记了您的问题,但此模式定义了逻辑层并且不规定特定的物理分层,反之亦然,物理分层不规定逻辑分层。您提到的三层架构可能是物理分层。每个物理层可能使用也可能不使用 ecb 模式。这是由软件架构师做出的决定。

大多数作者将存储层定义为由通常是关系型 (RDBMS) 的数据库管理系统 (DBMS) 实现的,其中不使用类等面向对象的概念。在这种情况下,如果使用 ecb 模式,实体类是应用层和/或表示层的一部分。

示例 1:实体类 Person 可以是应用层中的一个类,它通过向 RDBMS(= 存储层)发送一条 SQL 消息来保持自身。类 Person 通常还实现诸如“出生日期应该在过去”之类的业务规则。

示例 2:实体类 Person 可以是表示层中的一个类,它通过向应用层发送消息来保持自身,其中不使用 ecb 模式(假设)。

于 2016-07-26T08:19:21.160 回答
2

实体是低端数据库“部分”。它们代表了您为了持久性而放入数据存储中的点点滴滴。UML 使用类似于磁带/磁头的刻板印象(如果还有人记得那是什么):

在此处输入图像描述

边界的刻板印象类似于屏幕(或者您可以将其视为某种投影)。边界向参与者提供一些信息。

控制原型类似于一个转轮(您认为正在完成的工作),它隐藏了不响应边界事件和更改/读取实体的业务逻辑。

您还可以使用矩形表示法:

在此处输入图像描述

编辑正如@www.admiraalit.nl 所指出的,这个符号不是上层结构本身的一部分(因此不是基本的UML),而是各种UML 配置文件中常用的符号。

于 2016-07-24T11:17:11.887 回答