如何根据构造型而不是元素类型从 uml 建模项目在 Visual Studio 中生成代码?

Posted

技术标签:

【中文标题】如何根据构造型而不是元素类型从 uml 建模项目在 Visual Studio 中生成代码?【英文标题】:How to generate code in visual studio from uml modeling project depending on stereotype instead of element type? 【发布时间】:2014-05-02 21:53:31 【问题描述】:

我有很多类和接口的类图。

我想通过我的自定义模板(大约 10 个模板)为某些类生成代码。现在为了做到这一点,我必须为每个“特殊”类指定我的模板。

但我不想复制粘贴模板绑定。相反,我想将它设置在根级别并为我的特殊类设置例如原型,以便代码生成将模板仅应用于特定类。我怎样才能实现它?

【问题讨论】:

【参考方案1】:

我找到了答案! 我唯一需要做的就是重写检查我的模板是否可以应用于任何 UML 元素的方法。 我将下一个代码添加到我的 t4 模板文件以检查构造型“辅助”是否应用于该类:

<#+
    protected override bool AppliesToElement()
    
        bool isTemplate = this.Element.IsTemplate;
        bool isBoundElement = this.Element.TemplateBindings != null && this.Element.TemplateBindings.Any();
        return !isTemplate && !isBoundElement && GetStereotype(this.Element) == "class"
            && this.Element.AppliedStereotypes.Any(s=>s.Name == "auxiliary");
    
#>

【讨论】:

以上是关于如何根据构造型而不是元素类型从 uml 建模项目在 Visual Studio 中生成代码?的主要内容,如果未能解决你的问题,请参考以下文章

2.UML2 软件建模入门与提高 --- UML入门基础

BUAA_OO Unit4 UML建模

项目管理理论与实践——UML应用(上)

如何在UML类图中建模非成员聚合

UML

UML2面向对象分析与设计 -- 可视化建模技术(可视化建模基础统一建模语言UMLUML 2组成结构UML 2概念模型:构造块 通用机制 架构应用UML 2建模:用例图 活动图 类图...)