存储层和实体类

时间:2016-07-24 09:33:16

标签: uml ecb-pattern

根据我正在阅读的书,在三层架构(演示,应用,存储)中,存储层负责管理系统中数据的持久存储。如果是这样,我认为实体类在应用层。这是正确的吗?存储层中将包含哪些类?实体类和存储层类有什么区别?你能告诉我一些例子吗?

2 个答案:

答案 0 :(得分:2)

实体是低端数据库“部件”。它们代表了您在数据存储中放置的用于持久性的各个部分。 UML使用类似于磁带/磁头的构造型(如果有人还记得那是什么):

enter image description here

边界的刻板印象类似于屏幕(或者你可以认为这是一些投影)。边界向演员呈现一些信息。

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

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

enter image description here

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

答案 1 :(得分:2)

这里没有一个真相。人们有不同的意见,并有自己的定义。

您已使用UML标记标记了您的问题,但UML未定义诸如“存储层”或“实体类”之类的内容。

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

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

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

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