我正在为JAVA软件设计绘制一个类UML。我真的不明白什么是刻板印象。正式定义:
原型是一个概要文件类,它定义了如何将现有元类扩展为概要文件的一部分。它允许使用平台或领域特定的术语或符号来代替或补充用于扩展元类的术语或标记
这是否意味着刻板印象应该是父类的名称?但是为什么有些超类也有刻板印象呢?
例如,我有一个超类Animal和一个扩展了Animal类的类dog,这两个类的刻板印象是什么?还有,为什么有一些类没有刻板印象。
什么是刻板印象,它的目的是什么
原型通过允许以比UML本机预见的更详细的方式对一些元素进行分类来扩展UML。它有助于使模型更有表现力。
一个典型的例子是实体、控制和边界定型。它们用于用例驱动的设计:在类图中,您可以立即发现哪些类表示用例逻辑(标记为«control»
构造型(,哪些类表示具有参与者的用户界面(«boundary»
构造型(以及哪些类表示业务/域对象(标记为«entity»
(。
构造型的另一个用途是指示类的实现方式,例如,将对应于与内存中对象相关的数据库表的类标记为«table»
,或者在对象中指示哪些是«persistent»
。更常见的用途是显示一些特定于语言的概念,这些概念在UML中没有等价物。我特别认为C#«struct»
有一个值语义,其中C#类有一个引用语义,或者C#"属性"(这是属性级别的原型(。
刻板印象是如何定义的
Sterotype是在一个档案中定义的。您可以在概要文件图中将原型看作一个类。
但它不是一个普通的类,您可以将它与模型中的其他类关联起来。所以这里没有遗产在起作用。你永远不会把超类表示为刻板印象。
刻板印象是一个与"刻板印象"相关的类;元模型";,这意味着在UML标准中定义的UML标准元素。所以它是一类类(或一类关联,或任何其他UML元素(。
为了详细说明您的示例,使用抽象超类Animal
和具体子类Cat
和Dog
:
- 您可以通过
«entity»
配置文件影响它们,因为它们都属于域模型 - 如果您希望使用具体的表继承将对象存储在RDBMS中,则可以为
Cat
和Dog
使用构造型"persistent"(因为具体的表遗传模式不实现抽象类的持久性(