abe*_*ier 12 javascript uml object-diagram
我正在寻找一种图形化表示javascript对象的方法......
我知道有UML,但是例如,如何表示2个对象之间的链,例如:
var a, b;
a = {};
b = Object.create(a);
Run Code Online (Sandbox Code Playgroud)
直观地说,我会画出这样的东西:
+-----+
|b |
|-----|
| |
+--+--+
| +-----+
+---->|a |
|-----|
| |
+-----+
Run Code Online (Sandbox Code Playgroud)
但在UML中有一个不错的代表吗?
那么mixins怎么样?
c = $.extend({}, a, b)
+-----+ +-----+
|a | |b |
|-----| |-----|
| |<----------| |
+-----+ +-----+
+ +-----+
| |c |
| |-----|
+---->| |
+-----+
Run Code Online (Sandbox Code Playgroud)
您需要知道的第一件事是JavaScript使用基于原型的继承.这意味着类和实例之间没有区别,就像其他OO语言(如Java)一样.只有对象.其中一个含义是区分类和对象图是没有意义的.
第一个例子:
var a, b;
a = {};
b = Object.create(a);
Run Code Online (Sandbox Code Playgroud)
这是继承 - 对象b继承对象的属性a.
在UML中对此进行建模的正确方法是此类/对象图:

Mixins可以被视为多重继承的形式,对象c是从对象继承属性,a并且b图表可能如下所示:

看起来您正在尝试在类图中显示对象实例之间的关系。这实际上是行不通的;您可能想尝试使用 UML 实例图(也可以称为对象图)。类图旨在以静态方式捕获系统概念、它们的结构及其关系。从类图开始,然后转到实例图可能会有所帮助,您可以在对象实例的“槽”或属性中插入一些值,以查看类图中的模型是否有效。