从 UML 类图生成 Dart 代码

 

我最近看到的一些文章展示了如何将 Dart 代码映射到 UML,甚至如何将 Dart 代码逆向工程到 UML(使用 Plant UML 表示法),但是发现没有一篇文章展示了如何从 UML 模型自动生成 Dart 代码.

我们开始寻找一些合适的 OS UML 建模工具来支持 Dart 并且遇到了这个工具,NClass。它为我打勾了几个框,因为它相对较小,仅支持类和用例图,具有 C# 和 Java 代码的现有代码生成能力,并且是用 C# 编写的。不幸的是,只有 Windows。

NClass 采用针对相关语言使用专门的类图的方法,以便更好地支持代码生成。就纯 UML 而言,这当然需要一些自由,但我相信它支持的代码生成能力是值得的。目前已支持 Dart 类图,这是本文的重点,代码生成将很快添加,并将成为未来文章的主题。

作为我上面提到的专业化水平的一个例子,请看下图,显示 UML 中的各种类类型:-

从 UML 类图生成 Dart 代码

请注意,我们有一个名为 Mixin 的类,它不仅仅是名为 Mixin,它具有特定于 Dart Mixin 类的属性(当然不存在于 C# 或 Java 中)。 下图显示了可以将 Mixin 类创建为类:

flutter mixin class 类

此外,它是一个 Mixin,它不能有构造函数,所以在 Mixin 类中不能添加构造函数:

Flutter mixin 类 无构造函数

Dart 中当然也不能使用析构函数,因此 Dart 类图也删除了这些析构函数。

下图显示了 Dart 支持的进一步专业化:

Flutter Dart 类图

请注意这里的一些事情,Dart 类图可以与 C# 和 Java 一起添加,支持命名构造函数,就像在 Dart 中一样。 还支持标准 UML 构造,例如字段、属性(get、set)、方法和各种级别的可见性。 工厂构造函数被创建为专门的构造函数:

Flutter 工厂构造函数

请注意,工厂复选框和构造函数名称中的“factory”一词。 我们还会注意到有一个 Override 复选框,它旨在映射到 Dart 的 @override 注解。 Hider、Virtual 和 Sealed 的其他复选框不适用于 Dart,因此显示为灰色。

所以我们明白了,如果我们在 NClass 中查看提供的项目文件,你会看到 Dart 的其他专业化的点点滴滴。 目前缺少一些东西,特别是对“late”和“final”字段以及构造函数参数上的“this”注释的支持。 这些可以稍后添加,但是,现在这里已经足够从我们的 Dart 类图中开始生成 Dart 代码了。

这就是类图的全部内容,从这些图生成实际的 Dart 代码将在接下来的文章从 UML 生成 Dart 代码 – 代码生成中进行描述。

我最近看到的一些文章展示了如何将 Dart 代码映射到 UML,甚至如何将 Dart 代码逆向工程到 UML(使用 Plant UML 表示法),但是发现没有一篇文章展示了如何从 UML 模型自动生成 Dart 代码.

我们开始寻找一些合适的 OS UML 建模工具来支持 Dart 并且遇到了这个工具,NClass。它为我打勾了几个框,因为它相对较小,仅支持类和用例图,具有 C# 和 Java 代码的现有代码生成能力,并且是用 C# 编写的。不幸的是,只有 Windows。

NClass 采用针对相关语言使用专门的类图的方法,以便更好地支持代码生成。就纯 UML 而言,这当然需要一些自由,但我相信它支持的代码生成能力是值得的。目前已支持 Dart 类图,这是本文的重点,代码生成将很快添加,并将成为未来文章的主题。

作为我上面提到的专业化水平的一个例子,请看下图,显示 UML 中的各种类类型:-

从 UML 类图生成 Dart 代码

请注意,我们有一个名为 Mixin 的类,它不仅仅是名为 Mixin,它具有特定于 Dart Mixin 类的属性(当然不存在于 C# 或 Java 中)。 下图显示了可以将 Mixin 类创建为类:

从 UML 类图生成 Dart 代码

此外,它是一个 Mixin,它不能有构造函数,所以在 Mixin 类中不能添加构造函数:

Flutter mixin 类 无构造函数

Dart 中当然也不能使用析构函数,因此 Dart 类图也删除了这些析构函数。

下图显示了 Dart 支持的进一步专业化:

Flutter Dart 类图

请注意这里的一些事情,Dart 类图可以与 C# 和 Java 一起添加,支持命名构造函数,就像在 Dart 中一样。 还支持标准 UML 构造,例如字段、属性(get、set)、方法和各种级别的可见性。 工厂构造函数被创建为专门的构造函数:

Flutter 工厂构造函数

请注意,工厂复选框和构造函数名称中的“factory”一词。 我们还会注意到有一个 Override 复选框,它旨在映射到 Dart 的 @override 注解。 Hider、Virtual 和 Sealed 的其他复选框不适用于 Dart,因此显示为灰色。

所以我们明白了,如果我们在 NClass 中查看提供的项目文件,你会看到 Dart 的其他专业化的点点滴滴。 目前缺少一些东西,特别是对“late”和“final”字段以及构造函数参数上的“this”注释的支持。 这些可以稍后添加,但是,现在这里已经足够从我们的 Dart 类图中开始生成 Dart 代码了。

这就是类图的全部内容,从这些图生成实际的 Dart 代码将在接下来的文章从 UML 生成 Dart 代码 – 代码生成中进行描述。

我最近看到的一些文章展示了如何将 Dart 代码映射到 UML,甚至如何将 Dart 代码逆向工程到 UML(使用 Plant UML 表示法),但是发现没有一篇文章展示了如何从 UML 模型自动生成 Dart 代码.

我们开始寻找一些合适的 OS UML 建模工具来支持 Dart 并且遇到了这个工具,NClass。它为我打勾了几个框,因为它相对较小,仅支持类和用例图,具有 C# 和 Java 代码的现有代码生成能力,并且是用 C# 编写的。不幸的是,只有 Windows。

NClass 采用针对相关语言使用专门的类图的方法,以便更好地支持代码生成。就纯 UML 而言,这当然需要一些自由,但我相信它支持的代码生成能力是值得的。目前已支持 Dart 类图,这是本文的重点,代码生成将很快添加,并将成为未来文章的主题。

作为我上面提到的专业化水平的一个例子,请看下图,显示 UML 中的各种类类型:-

从 UML 类图生成 Dart 代码

请注意,我们有一个名为 Mixin 的类,它不仅仅是名为 Mixin,它具有特定于 Dart Mixin 类的属性(当然不存在于 C# 或 Java 中)。 下图显示了可以将 Mixin 类创建为类:

从 UML 类图生成 Dart 代码

此外,它是一个 Mixin,它不能有构造函数,所以在 Mixin 类中不能添加构造函数:

从 UML 类图生成 Dart 代码

Dart 中当然也不能使用析构函数,因此 Dart 类图也删除了这些析构函数。

下图显示了 Dart 支持的进一步专业化:

Flutter Dart 类图

请注意这里的一些事情,Dart 类图可以与 C# 和 Java 一起添加,支持命名构造函数,就像在 Dart 中一样。 还支持标准 UML 构造,例如字段、属性(get、set)、方法和各种级别的可见性。 工厂构造函数被创建为专门的构造函数:

Flutter 工厂构造函数

请注意,工厂复选框和构造函数名称中的“factory”一词。 我们还会注意到有一个 Override 复选框,它旨在映射到 Dart 的 @override 注解。 Hider、Virtual 和 Sealed 的其他复选框不适用于 Dart,因此显示为灰色。

所以我们明白了,如果我们在 NClass 中查看提供的项目文件,你会看到 Dart 的其他专业化的点点滴滴。 目前缺少一些东西,特别是对“late”和“final”字段以及构造函数参数上的“this”注释的支持。 这些可以稍后添加,但是,现在这里已经足够从我们的 Dart 类图中开始生成 Dart 代码了。

这就是类图的全部内容,从这些图生成实际的 Dart 代码将在接下来的文章从 UML 生成 Dart 代码 – 代码生成中进行描述。

我最近看到的一些文章展示了如何将 Dart 代码映射到 UML,甚至如何将 Dart 代码逆向工程到 UML(使用 Plant UML 表示法),但是发现没有一篇文章展示了如何从 UML 模型自动生成 Dart 代码.

我们开始寻找一些合适的 OS UML 建模工具来支持 Dart 并且遇到了这个工具,NClass。它为我打勾了几个框,因为它相对较小,仅支持类和用例图,具有 C# 和 Java 代码的现有代码生成能力,并且是用 C# 编写的。不幸的是,只有 Windows。

NClass 采用针对相关语言使用专门的类图的方法,以便更好地支持代码生成。就纯 UML 而言,这当然需要一些自由,但我相信它支持的代码生成能力是值得的。目前已支持 Dart 类图,这是本文的重点,代码生成将很快添加,并将成为未来文章的主题。

作为我上面提到的专业化水平的一个例子,请看下图,显示 UML 中的各种类类型:-

从 UML 类图生成 Dart 代码

请注意,我们有一个名为 Mixin 的类,它不仅仅是名为 Mixin,它具有特定于 Dart Mixin 类的属性(当然不存在于 C# 或 Java 中)。 下图显示了可以将 Mixin 类创建为类:

从 UML 类图生成 Dart 代码

此外,它是一个 Mixin,它不能有构造函数,所以在 Mixin 类中不能添加构造函数:

从 UML 类图生成 Dart 代码

Dart 中当然也不能使用析构函数,因此 Dart 类图也删除了这些析构函数。

下图显示了 Dart 支持的进一步专业化:

从 UML 类图生成 Dart 代码

请注意这里的一些事情,Dart 类图可以与 C# 和 Java 一起添加,支持命名构造函数,就像在 Dart 中一样。 还支持标准 UML 构造,例如字段、属性(get、set)、方法和各种级别的可见性。 工厂构造函数被创建为专门的构造函数:

Flutter 工厂构造函数

请注意,工厂复选框和构造函数名称中的“factory”一词。 我们还会注意到有一个 Override 复选框,它旨在映射到 Dart 的 @override 注解。 Hider、Virtual 和 Sealed 的其他复选框不适用于 Dart,因此显示为灰色。

所以我们明白了,如果我们在 NClass 中查看提供的项目文件,你会看到 Dart 的其他专业化的点点滴滴。 目前缺少一些东西,特别是对“late”和“final”字段以及构造函数参数上的“this”注释的支持。 这些可以稍后添加,但是,现在这里已经足够从我们的 Dart 类图中开始生成 Dart 代码了。

这就是类图的全部内容,从这些图生成实际的 Dart 代码将在接下来的文章从 UML 生成 Dart 代码 – 代码生成中进行描述。

我最近看到的一些文章展示了如何将 Dart 代码映射到 UML,甚至如何将 Dart 代码逆向工程到 UML(使用 Plant UML 表示法),但是发现没有一篇文章展示了如何从 UML 模型自动生成 Dart 代码.

我们开始寻找一些合适的 OS UML 建模工具来支持 Dart 并且遇到了这个工具,NClass。它为我打勾了几个框,因为它相对较小,仅支持类和用例图,具有 C# 和 Java 代码的现有代码生成能力,并且是用 C# 编写的。不幸的是,只有 Windows。

NClass 采用针对相关语言使用专门的类图的方法,以便更好地支持代码生成。就纯 UML 而言,这当然需要一些自由,但我相信它支持的代码生成能力是值得的。目前已支持 Dart 类图,这是本文的重点,代码生成将很快添加,并将成为未来文章的主题。

作为我上面提到的专业化水平的一个例子,请看下图,显示 UML 中的各种类类型:-

从 UML 类图生成 Dart 代码

请注意,我们有一个名为 Mixin 的类,它不仅仅是名为 Mixin,它具有特定于 Dart Mixin 类的属性(当然不存在于 C# 或 Java 中)。 下图显示了可以将 Mixin 类创建为类:

从 UML 类图生成 Dart 代码

此外,它是一个 Mixin,它不能有构造函数,所以在 Mixin 类中不能添加构造函数:

从 UML 类图生成 Dart 代码

Dart 中当然也不能使用析构函数,因此 Dart 类图也删除了这些析构函数。

下图显示了 Dart 支持的进一步专业化:

从 UML 类图生成 Dart 代码

请注意这里的一些事情,Dart 类图可以与 C# 和 Java 一起添加,支持命名构造函数,就像在 Dart 中一样。 还支持标准 UML 构造,例如字段、属性(get、set)、方法和各种级别的可见性。 工厂构造函数被创建为专门的构造函数:

从 UML 类图生成 Dart 代码

请注意,工厂复选框和构造函数名称中的“factory”一词。 我们还会注意到有一个 Override 复选框,它旨在映射到 Dart 的 @override 注解。 Hider、Virtual 和 Sealed 的其他复选框不适用于 Dart,因此显示为灰色。

所以我们明白了,如果我们在 NClass 中查看提供的项目文件,你会看到 Dart 的其他专业化的点点滴滴。 目前缺少一些东西,特别是对“late”和“final”字段以及构造函数参数上的“this”注释的支持。 这些可以稍后添加,但是,现在这里已经足够从我们的 Dart 类图中开始生成 Dart 代码了。

这就是类图的全部内容,从这些图生成实际的 Dart 代码将在接下来的文章从 UML 生成 Dart 代码 – 代码生成中进行描述。

 

免责声明:
1.本站所有内容由本站原创、网络转载、消息撰写、网友投稿等几部分组成。
2.本站原创文字内容若未经特别声明,则遵循协议CC3.0共享协议,转载请务必注明原文链接。
3.本站部分来源于网络转载的文章信息是出于传递更多信息之目的,不意味着赞同其观点。
4.本站所有源码与软件均为原作者提供,仅供学习和研究使用。
5.如您对本网站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。
火焰兔 » 从 UML 类图生成 Dart 代码