Vs2010架构设计-层图(Layer Diagram)

简介: 最新设计项目用到了VS2010的建模工具-层图。 记录一下相关的概念过程以备后续使用的参考。   层图可以让我们以高层的角度来分析整个软件结构,细腻程度可以自由选择,从项目、Namespace、Class到方法皆可。

最新设计项目用到了VS2010的建模工具-层图。 记录一下相关的概念过程以备后续使用的参考。

 

层图可以让我们以高层的角度来分析整个软件结构,细腻程度可以自由选择,从项目、Namespace、Class到方法皆可。

大体的使用过程:

1、 确定系统采用的架构:形成层图,并确定各个层之间的依赖关系

2、 建立系统的解决方案结构:将解决方案的项目的内容和层图的各个部分之间进行绑定

3、 验证:在系统设计和后续的开发过程中如果有违反系统结构的情况,通过验证可以查看到

简单的例子验证:

系统通讯信息交互通过接口实现

建立”Modeling Project”,加入层图,体现依赖接口的结构,客户端使用工厂模式

image

上图中每个层的右上角有个数字,表示和具体的项目的绑定关系,具体绑定直接把项目、类、接口等直接拖放到对应的层上即可[具体的信息在Layer Explorer中可以查看]

系统解决方案目录结构如下:

image

验证

image

假如上面的例子中如果Client组件直接引用了Implent的类和方法,那么验证会出现错误,表示违反了架构的设计。

通过这个方法,项目的持续发展和升级过程中,可以进行自动的验证系统当前的架构是否和要求的一致,避免架构的偏移

http://cid-56b433ad3d1871e3.office.live.com/self.aspx/.Public/vs2010-%e5%b1%82%e5%9b%be.zip

可以下载上面的例子熟悉层图的使用

MS Pattern and Practices网站有多个类型的项目层图可以参考:

具体参考地址

http://visualstudiogallery.msdn.microsoft.com/en-us/237f823c-45b4-4f1f-b9e2-607fe66eaae7

http://msdn.microsoft.com/en-us/library/dd673617.aspx

下载ApplicationArchitectureGuideLayerDiagrams.vsix安装后,建立层图时工具箱有四个类型:

image

下面是个Rich Internet Application的层图

image

可以在这个层图的基础上结合自己的项目建立相应的解决方案结构并绑定到对应的层,这样可以持续的保证项目的架构一致性

 

 

 

 

具体的项目时,根据这个过程处理可以有效的组织越来越多的组件和相关依赖

相关文章
|
Rust Ubuntu Linux
【一起学Rust | 进阶篇 | RMQTT库】RMQTT消息服务器——安装与集群配置
【一起学Rust | 进阶篇 | RMQTT库】RMQTT消息服务器——安装与集群配置
669 0
|
11月前
|
安全 Linux Shell
在Linux中,如何修改系统打开最大句柄数?
在Linux中,如何修改系统打开最大句柄数?
|
运维 负载均衡 关系型数据库
MySQL高可用解决方案演进:从主从复制到InnoDB Cluster架构
MySQL高可用解决方案演进:从主从复制到InnoDB Cluster架构
467 9
|
存储 运维 监控
运维(24)-运维技能知识图谱
运维(24)-运维技能知识图谱
1556 1
|
资源调度 JavaScript iOS开发
yarn的安装与配置(Windows/macOS)
yarn的安装与配置(Windows/macOS)
1326 0
|
关系型数据库 MySQL 数据库
MySQL - 修改密码的 3 种方式
MySQL - 修改密码的 3 种方式
5991 0
MySQL - 修改密码的 3 种方式
|
存储 JSON 安全
Java面试必知必会-【八月期】
Java面试必知必会-【八月期】
267 0
Java面试必知必会-【八月期】
|
人工智能 达摩院 Linux
如何使用ModelScope魔搭开源代码训练一款语音合成模型
如何使用ModelScope魔搭开源代码训练一款语音合成模型
1330 0
|
canal SQL Oracle
新的增量数据同步工具闪亮登场,完美支持Oracle增量同步
新的增量数据同步工具闪亮登场,完美支持Oracle增量同步
新的增量数据同步工具闪亮登场,完美支持Oracle增量同步
|
JavaScript 应用服务中间件 Linux
【Nginx部署Vue】在服务器上快速使用Nginx部署Vue项目
今天教大家使用Nginx快速的将Vue打包好的Dist文件部署在服务器上供他人访问
7075 1