VS 2010 Ultimate架构代码探索(2)
来源:asp之家 发布时间:2010-05-02 20:38:00
1.静态逆向工程(Static Reverse Engineering)
VSTS 2010提供针对不同功能层面的分析工具来辅助程序代码进行逆向工程:Layer Diagram可从高阶面看架构;Architecture Explorer能从特定点切入,只探索我们所关心的部分;.net Class Diagram则可分析最细节的Class结构。它支持静态的逆向工程,主要有三个工具:Architecture Explorer、Layer Diagram和Class Diagram。
应用&实践
静态逆向工程—Web应用代码分析范例
(1)层图(Layer Diagram)
Layer Diagram可以让我们以高层的角度来分析整个软件结构,细腻程度可以自由选择,从项目、Namespace、Class、到方法皆可。
①首先打开一个Web Application工程,打开VS新增一个Modeling Project,命名为“DemoReverseEngineering”,新增空白Layer Diagram,命名为“MainLayerDiagram” (Architecture|New Diagram|Layer Diagram),然后从Solution Explorer中拖曳ClassLibrary1、WebApplication1到MainLayerDiagram,然后可以看到两个方块(Layer),单击方块并单击鼠标右键,选“Generate Dependencies”命令,VSTS 2010会自动生成之间的关系,如图4所示。

图4 关系层图
②我们可以定义每个Layer包含的工作产品(Artifact),并可以直接用相关文件对应到Layer,然后在Layer上单击鼠标右键选择“View Links”命令,
即可检视此Layer的相关工作产品,如图5所示。

图5 层浏览器
Layer Diagram基本上为快照(Snapshot)图形,后续即使程序代码有了变动,该图形也并不会自动跟着更新,所以必须定期执行Validate Architecture。


猜你喜欢
- 引言在开发过程中,遇到过json数据组的字符串,需要解析json组,得到组内所有的信息。如下格式:[{"itemId":
- 在服务器上生成动态内容是使用ASP最主要的原因之一,所以我们选择的第一个测试项目是确定把动态内容发送到应答流使用什么方法最好。基本的选择有两
- 本位实例为大家分享了Python生成随机密码的实现过程,供大家参考,具体内容如下写了个程序,主要是用来检测MySQL数据库的空密码和弱密码的
- 直接使用word文档已经难不倒大家了,有没有想过用python构建一个word文档写点文章呢?当然这个文章的框架需要我们用代码一点点的建立,
- 一、介绍Python:python代码解释器,用于编译.py代码,python可以单独安装,本次环境配置目的用于解决计算机视觉处理,因此选用
- 1、模拟退火算法退火是金属从熔融状态缓慢冷却、最终达到能量最低的平衡态的过程。模拟退火算法基于优化问题求解过程与金属退火过程的相似性,以优化
- 本文实例讲述了CentOS 6/7环境下通过yum安装php7的方法。分享给大家供大家参考,具体如下:安装php7已经是现在linux服务器
- 在说这两兄弟前,先做一个实验:我在Win7下新建左一个文本文件test.txt,然后用记事本打开输入如下内容,保存然后用UltraEdit以
- 创建表&创建索引create table tbl1 (id int unique, sname varchar(50),index
- 前几天同学要我帮他做个国际聊天室,要求能够将聊天的内容自动翻译成多国语言.本来想用worldlink的翻译服务,但是用ajax很难获得结果,
- Oracle客户端精简后的文件,可以实现数据库的通信,直接和软件打包: 第一步:拷贝文件:主要是四个目录:bin,nls,oracore,N
- sql server2005新增加了2大数据类型: 1.大值数据类型 2.xml 1.大值数据类型 Microsoft SQL Server
- Go 处理 json数据主要就是使用 json 包下的 Marshal 和 UnMarshal 两个函数。定义结构体 Usertype Us
- 1、选取最适用的字段属性MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表
- 测试数据 http://grouplens.org/datasets/movielens/协同过滤推荐算法主要分为:1、基于用户。根据相邻用
- 一个网站能切换不同的CSS风格大家应该都了解,像众所周知的腾讯在今年改版时也增加了切换皮肤的功能。根据时间自动调整站点风格是不错的想法,这种
- 这个翻滚代码没有使用什么marquee或者其它位移方法,而是每隔一秒把列表最顶端的那个li删掉,把这个li里面的内容插入到最底端新生成的li
- Python 中的 main 函数充当程序的执行点,在 Python 编程中定义 main 函数是启
- 本文说明向外扩展数据库系统的两个选项,从而实现更高的可扩展性:水平数据划分和垂直数据划分当我提到向外扩展数据库系统时,我实际上只是讨论对数据
- OS模块import os1.返回操作系统类型 :posix 是linux操作系统,nt 是windows操作系统print(os.name