最新设计项目用到了VS2010的建模工具-层图。 记录一下相关的概念过程以备后续使用的参考。
层图可以让我们以高层的角度来分析整个软件结构,细腻程度可以自由选择,从项目、Namespace、Class到方法皆可。
大体的使用过程:
1、 确定系统采用的架构:形成层图,并确定各个层之间的依赖关系
2、 建立系统的解决方案结构:将解决方案的项目的内容和层图的各个部分之间进行绑定
3、 验证:在系统设计和后续的开发过程中如果有违反系统结构的情况,通过验证可以查看到
简单的例子验证:
系统通讯信息交互通过接口实现
建立”Modeling Project”,加入层图,体现依赖接口的结构,客户端使用工厂模式
上图中每个层的右上角有个数字,表示和具体的项目的绑定关系,具体绑定直接把项目、类、接口等直接拖放到对应的层上即可[具体的信息在Layer Explorer中可以查看]
系统解决方案目录结构如下:
验证
假如上面的例子中如果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安装后,建立层图时工具箱有四个类型:
下面是个Rich Internet Application的层图
可以在这个层图的基础上结合自己的项目建立相应的解决方案结构并绑定到对应的层,这样可以持续的保证项目的架构一致性
具体的项目时,根据这个过程处理可以有效的组织越来越多的组件和相关依赖