如何根据构造型而不是元素类型从 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 中生成代码?的主要内容,如果未能解决你的问题,请参考以下文章
UML2面向对象分析与设计 -- 可视化建模技术(可视化建模基础统一建模语言UMLUML 2组成结构UML 2概念模型:构造块 通用机制 架构应用UML 2建模:用例图 活动图 类图...)