4

我正在为 JAVA 软件设计绘制一个类 UML。我真的不明白什么是刻板印象。正式定义:

原型是一个配置文件类,它定义了如何将现有的元类扩展为配置文件的一部分。它允许使用平台或领域特定的术语或符号来代替或补充用于扩展元类的术语或符号

这是否意味着原型应该是父类的名称?但是为什么有些超类也有定型呢?

例如,我有一个超类 Animal 和一个扩展 Animal 类的类 dog,这两个类的刻板印象是什么?另外,为什么有些类没有刻板印象。

4

1 回答 1

6

什么是刻板印象,它的目的是什么?

原型通过允许以比 UML 原生预见的更详细的方式对某些元素进行分类来扩展 UML。它有助于使模型更具表现力。

一个典型的例子实体、控制和边界构造型。它们用于用例驱动设计:在类图中,您可以立即找出哪些类表示用例逻辑(标记为«control»原型),哪些类表示与参与者的用户界面(«boundary»原型),以及classes 代表业务/领域对象(标记为«entity»)。

构造型的另一个用途是指示一个类应该实现的方式,例如标记为«table»对应于与内存中对象相关的数据库表的类,或者在对象中指示哪些是«persistent». 一个更常见的用途是显示一些特定于语言的概念,并且在 UML 中没有等价物。我特别认为 C#«struct»具有值语义,而 C# 类具有引用语义,或 C# «property»(这是属性级别的刻板印象)。

刻板印象是如何定义的?

原型在配置文件中定义。您可以在概要图中将构造型视为类。

但它不是一个可以与模型中的其他类相关联的普通类。所以这里没有继承。您永远不会将超类指示为刻板印象。

构造型是与“元模型”相关的类,它表示在 UML 标准中定义的 UML 标准元素。所以它是一类类(或一类关联,或任何其他 UML 元素)。

要详细说明您的示例,请使用抽象超类Animal和具体子类CatDog

  • 你可以影响他们所有的«entity»配置文件,因为他们都属于域模型。
  • 如果您想使用具体表继承Cat将对象存储在 RDBMS 中,您可以为and使用构造型«persistent» Dog(因为具体表继承模式不实现抽象类的持久性)
于 2020-09-07T20:45:11.330 回答