[VS2010/.NET 4.0 自我修炼] 初探 Visual Studio 2010 Ultimate 内建的 UML 工具
首先,感谢点部落团队举办赠书自我修练活动,
让笔者有机会看书自我学习以及分享所得~
以下正式开始这次的修练之路~~~
在 Visual Studio 中有一套协助开发的工具叫做“类图表”,
如果笔者没记错,这是从 2008 版本开始内建在 VS 里的。
但是 2008 的版本只有单纯的类图检视。
而这次在 2010 的版本中,“类图表”大大的提升了对 UML 的支持度,
不仅可建立类图 (Class Diagram),还可建立最常使用的其他四种图:
- 使用案例图 (Use Case Diagram)
- 活动图 (Activity Diagram)
- 顺序图 (Sequence Diagram)
- 组件图 (Component Diagram)
本篇以下仅先针对类图做简单的使用介绍,
示范内容包括如何透过类图表来做类的新增、继承设定以及类成员的细节设计,
以下开始示范:
一、新增类
1. 在 VS 里面开一个新的类库项目
2. 在项目项目上面点鼠标右键,选择“类图表检视”, VS 会自动加入一个文档叫做“ClassDiagram1.cd”,
并且开启设计检视画面
3. 在设计检视画面的空白处点击鼠标右键,选择“加入”,可看到右边出现次菜单,
可新增的项目有“类”、“枚举”、“界面”、“抽象类”、“结构”、“委派”、“注解”等七项,
4. 因为接下来要介绍继承的操作方式,所以我们选择“类”,建立新类以供“继承”的操作范例使用。
选择了类之后,可以看到类基本资讯的设定窗口,具有“类名称”、“存取 (修饰词)”、“文件名”等项目可编辑。
首先来看“类名称”文字方块,我们可在这边指定新增类的名称
5. 接着是“存取修饰词”下拉菜单,这边包含了三种修饰词,public、internal 以及默认
6. 最后是设定这个类要新增在哪个 .cs 文件中,
这边提供了有两个方式给我们选择,
其一是“建立新文件”,也就是在项目中新增一个 .cs 文件,文件命名会以第 4 步所指定的名称为准
其二是“加入至现有文件”,也就是选择一个项目中既有的 .cs 文件,将新的类加在该文件中
(i) 建立新文件:
(ii) 加入至现有文件:
二、继承
1. 接下来是前面提到的“继承”的操作范例,
首先在 VS 左侧可以看到“工具箱”里面的“类设计工具”,
点开来并点击鼠标左键选取“继承”
2. 选取了“继承”项目之后,将鼠标游标移回到“类图表设计检视”之中,可以看到鼠标的游标改变了
3. 如果我们在这边想让类 Class2 继承类 Class1,那就先将鼠标游标移到类 Class2 项目上面并点一下鼠标左键,
这时候可以看到鼠标游目标尖端部分跟类 Class2 项目之间连着一条虚线
4. 然后将鼠标游标移到类 Class1 项目上面再点一下鼠标左键,
可以看到两个项目之间会用一条单向箭头的直线连接起来,
其中父类 (Class1) 那边是箭头,子类 (Class2) 那边没有箭头,
像这样的图形是从 UML 2.0 的规范而来~~~
我们这时再将类 Class2 打开来看,VS 果然已经编辑过其内容,
使类 Class2 继承类 Calss1 了~~~
三、类细节
A. 属性
1. 在 VS 的上方有一排按钮叫做“类设计工具”,
其中有一个按钮叫做“类细节窗口”,我们可以利用它来设计类成员
2. 开启“类细节窗口”之后,我们首先来加几个属性看看,
将鼠标游标移到图片所在位置点一下左键,就会进入编辑模式,
在这个文字方块可以输入属性名称~
3. 我们在上一动将属性名称编辑为“ID”,这时候可以按 tab 键继续编辑“类型”这个文字方块。
文字游标移到“类型”文字方块之后,VS 会自动将类型设定为 int,而修饰词则为 public
4. 很贴心的是,VS 在“类型”这个文字方块中也提供了 Intellisense,
而且会将完整的类型名称补上去~
5. 接着是“存取 (修饰词)”,在这边是以下拉菜单的方式来呈现,
有 public、private、internal、protected、protected internal、默认等六个项目可选择
6. 接着是“摘要”,这边比较特殊一点,是以另开窗口的方式来提供编辑,
点一下“摘要”文字方块右侧的“…”按钮即可开启编辑窗口
7. 最后是“隐藏”核取方块,这个的作用很简单,只是可以挑选要在设计检视中看到哪些属性,
被隐藏的就看不到啰~~~
8. 笔者在类 Class1 跟类 Class2 中各加了两个属性,ID 以及 Name,类细节看起来会像下列这样
9. 属性的设定操作方式就介绍到此,这时候类 Class1 跟类 Class2 的 .cs 档内容会是这个样子,
我们可以看到每个属性的 getter 都需要手动去 implement,
也就是不会自动使用下列的写法:
public Guid ID
{
get;
set;
}
B. 字段
1. “字段”的设计方式与属性几乎是一模一样,因此不再多做介绍,
其中唯一不同的地方是“字段”的“存取 (修饰词)”默认为 private,
这是因为“封装”里的“资讯隐藏”概念……
C. 方法
1. “方法”的编辑方式与上述两种成员的方式大同小异,
其中“类型”代表的是方法的回传值,默认会是 void,
而“存取 (修饰词)”默认是 public
2. 这个时候,类 Class1 跟类 Class2 的内容会像下列这样,
可以看到“方法”一样是需要 implement 的~~~
四、总结
印象中有人用这套来作正反向工程,
等到修练篇数满了之后再来试作看看~~~
备注:工具终究只是工具,
最重要的还是要了解他背后的理论基础,
才不会沦为小精灵一族~~~~~~ XDDD
原文:大专栏 [VS2010/.NET 4.0 自我修炼-01] 初探 Visual Studio 2010 Ultimate 内建的 UML 工具