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

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

 

 

 

 

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

相关文章
|
设计模式 供应链 Java
反腐层(Anti-Corruption Layer):一种保护你的系统完整性的设计模式
反腐层(Anti-Corruption Layer):一种保护你的系统完整性的设计模式
|
6月前
|
前端开发 开发者
心得经验总结:快速了解layui中layer的使用
心得经验总结:快速了解layui中layer的使用
51 0
|
XML 存储 缓存
如何把业务代码越写越复杂? | MVP - MVVM - Clean Architecture
本文以一个真实项目的业务场景为载体,描述了经历一次次重构后,代码变得越来越复杂(you ya)的过程。
483 5
|
设计模式 前端开发 Java
微服务设计模式:反腐层(Anti-corruption layer)
微服务设计模式:反腐层(Anti-corruption layer)
636 0
微服务设计模式:反腐层(Anti-corruption layer)
|
前端开发 .NET 数据库
一起谈.NET技术,使用View Model从表现层分离领域模型
MVC架构模式是近年来编程世界里最长被提及的模式之一,Model-View-Controller(模型-视图-控制器,MVC) 模式将你的软件组织并分解成三个截然不同的角色: Model 封装了你的应用数据、应用流程和业务逻辑。
985 0
|
前端开发 JavaScript API
Fusion Next 之 Form 组件的设计之路
前端的Form 表单主要用于解决数据获取、数据校验、数据赋值 这三大类问题。这篇文章里面的提供的解决方案能够比较完美的用在 React 框架上,但是解决问题的思路相信应该是可以使用于任何框架语言。 中后台的表单组件已经不仅仅有 input 和 select,可能还扩展到 范围选择器、日期选择器 等...
2420 0
|
Android开发 Kotlin Java
Architecture -- ViewModel
1). 简介 ViewModel类旨在以生命周期意识的方式存储和管理UI相关数据。 ViewModel类允许数据在配置更改(例如屏幕旋转)后继续存在。 Android框架管理UI控制器的生命周期,例如活动和片段。
982 0
|
前端开发 C#
WPF MVVM 架构 Step By Step(6)(把actions从view model解耦)
原文:WPF MVVM 架构 Step By Step(6)(把actions从view model解耦)   到现在为止,我们创建了一个简单的MVVM的例子,包含了实现了的属性和命令。我们现在有这样一个包含了例如textbox类似的输入元素的视图,textbox用绑定来和view model联系,像点击button这样的行为用命令来联系。
1561 0
|
应用服务中间件 开发框架 关系型数据库