Visual Studio越来越丰满了,Visual Studio 2010没有MSDN,没有汉化包就2.18G了,可能有很多.net的程序员或初学人员在抱怨,这么大,都有什么用呀?我在刚学习.net的时候也有这样的问题,慢慢的随着我学习的深入,我越来越明白,其实Visual Studio之所以大,是因为其用处非常多,有非常多的工具集成在这里。其实微软也在着力把与开发相关的工具尽量往.net平台上集中。现在,广泛用作构架的UML,也出现在VS2010中。

VS中出现UML是最受构架师们欢迎的,因为他们和开发人员的工具得到了统一(对于VS2010中的UML,是有自己特点的,不是与其他工具中的UML完全重合)。现在,就让我们走近VS2010 中的UML

现在来新建一个Project,选择“Modeling Projects”,名称为MyModelingProject,解决方案管理器如下图,

Visual Studio 2010中的UML

在解决方案管理器中,会看到两部分,一部分是引用的文件夹“LayerReferences”另一部分是ModelDefinition,其中有一个扩展名为UML的文件,这个文件是存放项目所有图型的元素的层次关系(是层次关系,不是图形中元素间相互关系),这个文件在IDE中是打不开的,它其实是一个XML存储方式。说到XML,微软在一系列新产品中都用到了它,WPF中的XAML语言本质上就是XML,在ADO.NET Entity Frameworkr的配置中,也大量用到XMLVS 2010Modeling Projects中又用到了,并且完全用XML来存储图和图之间的关系(下面还会看到使用XML),所以说XML是一种非常强大的标记语言,微软确实在应用XML上下了一翻功夫。同时在这个UML中还提供了几个预定义的类型,在<primitiveType>节点中,这些类型是在做类图的类成员——属性,方法时的参数或返回值用。

在项目中添加一个用例图,如下所示:
Visual Studio 2010中的UML
添加完后在解决方案管理器上多了一个文件扩展名为usecasediagram的文件,并且这个文件有下一级,扩展名为layout,其实usecasediagram对应着图形界面,它本质上也是一个XML文件,只不过在IDE中解释时就解释成了图形,而layout是图形界面中各个元素的布局。

下面,就列个表,说明一下uml,usecasediagram,layout三个文件的关系:

(不同的类,图形的扩展名是不一样的,用例图的是usecasediagram

 

 

UML

Usecasediagram

Layout

级别

项目级别,只有一个

项目项级别,可以有多个

usecasediagram 成对出现,是对usecasediagram的完善

内容

项目,项目图文件,文件中的元素

元素,元素间的关系

元素间的布局

共同点

包含元素或元素关系节点

 
VS 2010下,是与其他工具中画出的UML图是不同的,这里是通过Mark的方式来标记图形,而不是用一个图形来表示一类事物。这样做的好处是可以方便重用,扩展,分发等。

为了我们更容易的了解下面的知识,在项目中添加一个类图,放一个接口和一个类,类继承接口。

VS2010中又增加了一个浏览窗体“UML Model Explorer”,它是展示所有的图中的元素,这里的元素是不区分在那个图中,是何种图。如下图所示:
Visual Studio 2010中的UML
可以看到用例图的元素与类图的元素都在UML Model Explorer中显示了出来,并且也区分不出他们分别属于那个图中。(希望正式版本中能很好的区别开这些元素属于那些图中)

关于其他的图,与用例图和类图的结构层次是相似的。都有主文件和布局文件。

其实在VS2010这个IDE中去画UML图,还是与其他工具(RoseVisio)有很大不同的,这种不同不是在UML本身语法和语义上的不同,而是在使用上的不同,毕竟在IDE中,与开发更近一步,并且与开发工具是集成在一起的,在一定程序减小了架构和开发人员间的交流。还有一点是VS 2010中的UML的特点,系统集成了很多约束。比如类只能继承接口,接口不可以继承类,还有接口中的成员必须是public,不可更改的等。

其实对于VS 2010UML真正的价值,还有待架构和开发人员来给出一个真的评价。