| 前页 | 后页 | 
基本模板
代码模板框架由许多基本模板组成。每个基本模板都将UML特定方面转换为面向对象语言的相应部分。
基本模板形成一个层次结构,该层次结构在不同的编程语言之间略有不同。在与诸如C#或Java(没有头文件)之类的语言相关的典型模板层次结构中,可以将模板建模为类,但通常只是纯文本。对于C ++和Delphi等具有独立实现模板的语言,此层次结构将稍微复杂一些。
每个基本模板必须专门用于代码工程。特别是,每个模板都专用于受支持的语言(或“产品”)。例如,有一个为C ++定义的ClassBody模板,为C#定义的另一个模板,为Java定义的另一个模板等等。通过专门化模板,可以定制为相应的UML实体生成的代码。
一旦基本模板针对给定语言进行了专门化,便可以基于以下条件进一步对其进行专门化:
- 类的刻板印象,或
- 功能的构造型(其中功能可以是操作或属性)
CTF中使用的基本模板
| 模板 | 描述 | 
|---|---|
| 属性 | 用于从UML属性生成成员变量的顶级模板。 | 
| 属性声明 | 由属性模板用于生成成员变量声明。 | 
| 属性注释 | 由属性模板用于生成成员变量注释。 | 
| 类 | 用于从UML类生成类的顶级模板。 | 
| 班级基础 | 由Class模板用来在派生类的继承列表中生成基类名称,而基类在模型中不存在。 | 
| 类体 | 由Class模板用来生成Class的主体。 | 
| 类声明 | 由Class模板用来生成Class的声明。 | 
| 类接口 | 由Class模板用来在派生Class的继承列表中生成接口名称,而该接口在模型中不存在。 | 
| 课堂笔记 | 由Class模板用来生成Class注释。 | 
| 文件 | 用于生成源文件的顶级模板。 对于C ++之类的语言,这对应于头文件。 | 
| 进口科 | 在文件模板中使用以生成外部依赖关系。 | 
| 链接属性 | 用于生成从UML关联派生的属性的顶层模板。 | 
| 链接的属性注释 | 链接属性模板用于生成属性注释。 | 
| 链接属性声明 | 链接属性模板用于生成属性声明。 | 
| 链接类库 | Class模板用于在派生类的继承列表中为作为当前Class父级的模型中的Class元素生成基本Class名称。 | 
| 链接类接口 | 由类模板用于在派生类的继承列表中为作为当前类父级的模型中的接口元素生成接口名称。 | 
| 命名空间 | 用于从UML包生成名称空间的顶层模板(尽管并非所有语言都具有名称空间,但是该模板可用于生成等效的构造,例如Java中的Packages)。 | 
| 命名空间主体 | 由名称空间模板用来生成名称空间的主体。 | 
| 命名空间声明 | 由名称空间模板用来生成名称空间声明。 | 
| 操作方式 | 用于从UML类的操作生成操作的顶层模板。 | 
| 操作体 | 操作模板用于生成UML操作的主体。 | 
| 操作宣言 | 由操作模板用于生成操作声明。 | 
| 操作须知 | 操作模板用于生成操作文档。 | 
| 参数 | 操作声明模板用于生成参数。 | 
具有单独的界面和实现部分的语言代码生成模板
| 模板 | 描述 | 
|---|---|
| Impl类 | 用于生成类实现的顶级模板。 | 
| 类体Impl | 由Class Impl模板使用以生成Class成员的实现。 | 
| 文件Impl | 用于生成实现文件的顶级模板。 | 
| 文件注释Impl | 由File Impl模板用来在源文件中生成注释。 | 
| 导入节Impl | 由File Impl模板用来生成外部依赖项。 | 
| 操作Impl | 用于从UML类的操作生成操作的顶层模板。 | 
| 手术体Impl | 操作模板用于生成UML操作的主体。 | 
| 操作宣言 | 由操作模板用于生成操作声明。 | 
| 操作说明 | 操作模板用于生成操作文档。 | 
