zoukankan      html  css  js  c++  java
  • 聊聊.net程序设计——浅谈使用VS2010建模拓展(下)[转]

    昨天我介绍了使用VS2010建模拓展的正向工程示例代码,介绍了如何建模及如何导出工程文件,今天我们将来讨论如何从已有代码中逆向工程出UML设计类图。

    首先,我们先来创建我们将要逆向工程的项目文件,项目很简单为了演示全面,我们分别建立了3个工程项目(类库),如图:

    2011-10-14 22-25-21

    该项目主要实现数据的加减乘除4种简单计算操作,主要为了演示怎样逆向工程及如何导出依赖项。

    下面分别介绍一下这3个类库的功能:

    ZY.TestModeling.InterfaceDefine——该类库主要功能为接口声明。

    ZY.TestModeling.Implement——该类库主要负责功能实现(这里使用了策略模式对算法进行封装)。

    ZY.TestModeling.UI——顾名思义该类库为用户接口UI界面主要负责UI程序与用户交互。

    这样我们项目结构清晰了,下面来看如何使用VS2010拓展进行逆向工程。

    首先、我们应该创建我们所需用的类图文件,如何操作呢?即我们右键点击解决方案,然后选择【添加】-》【新建项目】

    然后再新建项目对话框中选择【建模项目】设置项目名称及存储位置后点击【确定】

    这样在解决方案下将自动生成建模项目

    2011-10-14 22-43-04

    然后选中该项目点击Visual Studio 2010中的菜单栏【体系结构】-》【新建关系图】

    2011-10-14 22-44-07

    然后弹出新建关系图对话框,选择“UML类图”设置名称及添加到的建模项目后点击【确定】

    2011-10-14 22-44-42

    将在建模项目下生成一个.classdiagram文件,该文件即类图项目文件,双击打开生成的类图文件。

    2011-10-14 22-48-18

    然后、在Visual studio 2010的菜单栏中选择【体系结构】-》【窗口】-》【体系结构管理器】,如图:

    2011-10-14 22-31-28

    这样会出现”体系结构资源管理器窗口”

    2011-10-14 22-33-58

    这里主要有两种视图方式,分别为“解决方案视图”及“类视图”

    解决方案视图即按解决方案中的层次项目目录进行体系结构展示

    2011-10-14 22-35-53

    类视图即按类的层次项目目录进行体系结构展示

    2011-10-14 22-37-48

    这里我们使用“解决方案视图”方式进行体系结构展示,在子项目窗口中选中将要逆向工程的项目,这样在右边将出现“文件”浮动窗口,在该窗口中将展示出被选中的3个项目的所有文件,选中所有文件后将出现”类型”浮动窗口

    2011-10-14 22-50-06

    2011-10-14 22-53-44

    2011-10-14 22-57-27

    按住鼠标左键将选中类型拖动到类图文件中松开鼠标左键,这样我们的逆向工程类图就生成了。怎么样简单吧!

    2011-10-14 22-58-48

    最终结果为

    无标题

    这里还有一个不得不提的地方就是,在生成的类图中可以选中某个类右键点击【View Code】,这样就可以直接调转到类图的具体实现文件了,开可以双击类图中的某个“特性”或者“操作“都可以直接定位到实现代码,这种操作确实很实用也很便利!

    2011-10-14 23-04-22

    同时还可以生成依赖项关系图,我觉得这个功能也很强大,它可以将项目中所依赖的DLL全部以图形化方式展示出来,并将依赖关系展现出来,甚至可以定位到具体的依赖函数。

    如何使用呢?

    点击Visual Studio 2010菜单栏中的【体系结构】-》【生成依赖项关系图】

    具体用5个子项可供选择,

    按程序集,

    按命名空间,

    按类,

    By Include File,

    自定义

    自己可以根据自己需要进行依赖项关系图的生成

    2011-10-14 23-07-05

    这里我们选用”按程序集“生成

    2011-10-14 23-12-37

    生成后

    2011-10-14 23-13-32

    点击【2011-10-14 23-14-18】按钮,即可以将内部细节展现出来,支持子项继续展开,不能不说微软确实很强大

    2011-10-14 23-16-00

    同样双击图中的方法可以直接定位到具体的代码实现。

    这样我们的逆向工程就完成了。

    希望大家热烈 讨论,共同研究。以后有时间我还会写一些高级的应用,希望与大家一同探讨!

  • 相关阅读:
    Rx 键值观察KVO的使用
    js总结(6.1)获取DOM的各个属性 补充部分
    js总结(8)轮播小总结
    js总结 (7)事件
    js总结 (书本)《JavaScript DOM编程艺术 第2版》笔记
    js总结 (6) DOM操作 节点元素 遍历树
    css 补充之 checked应用 制作选中效果,以及z-index和position-fixed transfrom 之间层级关系
    js总结 (4)JavaScript高级程序设计
    js总结 (5)原型 原型链,,,继承的问题
    Css权威指南总结
  • 原文地址:https://www.cnblogs.com/zjoch/p/2325775.html
Copyright © 2011-2022 走看看