领域专用语言工具定义的关系图是定义领域专用语言的重要工具。 可以向域模型添加元素并定义关系图,并且可以修改关系图的布局,使其更具可读性。
关系图的布局
Domain-Specific 语言工具定义关系图有两个分区: 类和关系 分区和 关系图元素 分区。 “类和关系”分区显示域类、域关系和继承。 “关系图元素”分区显示形状类、连接线类、泳道类和生成的设计器图。
域类可以出现在 类和关系 分区中的多个位置。 如果域类定义是其他域类的基类,则显示继承树;如果它是嵌入或引用关系的源,则显示关系树。 域类占位符显示为嵌入或引用关系的目标。 默认情况下,占位符元素会以 “域属性” 面板为折叠状态显示。 它们不显示继承或嵌入或引用关系。
添加域类时,它将显示在 “类和关系 ”分区的下半部分。 添加嵌入或引用关系时,它将在源域类的下方和右侧绘制。
添加域类和关系时,查找特定域类可能会变得困难。 可以通过在 DSL 资源管理器 中右键单击域类,然后单击“ 在关系图中定位”来查找域类。
以下部分介绍如何更改关系图的外观,使其更易于阅读。
复制元素
可以使用 DSL 定义关系图中的元素复制、剪切和粘贴。
放大或缩小图表
可以使用 DSL 设计器 工具栏设置缩放级别来放大或缩小关系图。
隐藏地图线条
地图线是在域类或域关系与映射到的形状或连接线之间绘制的线条。 可以通过单击 DSL 设计器工具栏上的“显示地图线”按钮来隐藏地图线。 若要显示这些行,请再次单击该按钮。
更改关系图布局
可以按如下所示更改 类和关系 分区的布局。
Expand/Collapse
可以通过右键单击它,然后单击 “折叠”来减小表示域类或形状的隔离舱形状元素的大小。 这会隐藏形状的 域属性面板。 若要再次显示 “域属性” 部分,请右键单击形状,然后单击“展开”。
上移/下移
可以通过右键单击该元素,然后单击“ 上移 ”或“ 下移”,在分区中向上或向下移动域类或关系图元素。 如果移动一个占位符元素,该元素显示为嵌入或引用关系的目标,则关系将随它一起移动。
展开/折叠关系树
如果域类在其他域类的嵌入或引用关系中扮演源角色,可以通过右键单击域类定义,然后单击 “折叠关系树”来隐藏关系。 若要显示关系,请右键单击定义元素,然后单击“ 展开关系树”。
展开/折叠继承树
如果域类是其他域类的基类,可以通过右键单击域类定义,然后单击 “折叠继承树”来隐藏继承树。 若要显示继承树,请右键单击定义元素,然后单击“ 展开继承树”。
将树带到此处
可以通过右键单击占位符域类并单击“ 在此处添加树”来合并关系图。 占位符域类将成为定义元素,并显示继承和关系树。 如果前定义元素是关系的目标或继承关系中的子元素,则它将成为占位符元素;否则,它就会消失。
拆分树
可以通过右键单击显示它们的域类定义,然后单击 “拆分树”来分解继承树或关系树。 定义元素将成为占位符元素,定义域类及其继承和关系树现在显示在分区底部。
显示为类别
如果域关系具有派生关系,或者它已嵌入或引用与其他域关系的关系,则可以通过右键单击关系并单击“ 显示为类”来将关系显示为类。 关系将与 域属性 区域一起显示,并展示继承树和关系树。