首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训
    图书品种:235680
       
热门搜索: ASP.NET Ajax Spring Hibernate Java

1.3  软件架构关注分割与交互

本节结合流行的MVC架构,说明软件架构是如何将系统分为不同部分,以及各部分之间如何交互的。

“软件系统的架构将系统描述为计算组件及组件之间的交互”,Shaw的这个定义从“软件组成”角度解析了软件架构的要素:组件及组件之间的交互。通过UML类图,我们可以将这个关系表达得更加清晰,参见图1-1。如图所示,组件和组件之间有交互关系,图中的“交互”采用了关联类的语法。

图1-1  软件架构的要素:组件及组件之间的交互

Shaw的架构定义高度抽象地将软件架构概括为“组件+交互”,下面以大家熟悉的MVC架构为例进行说明(如图1-2所示)。

图1-2  MVC架构作为“组件+交互”的例子

采用MVC架构的软件包含了这样3种组件:Model、View、Controller。

同时,为了达到一定的目的,这3种组件必须通过交互来协作,比如:View创建Controller后,Controller根据用户交互调用Model的相应服务,而Model会将自身的改变通知View,View则会读取Model的信息以更新自身。

通过此例可以看出,“组件+交互”可以将MVC等“具体架构设计决策”高屋建瓴地抽象地表达出来。

查看所有评论(0)条】

最近评论



正在载入评论列表...
热点评论