爆大奖注册送56

架构风格和模式的分类方法

[文章来源:爆大奖注册送56     点击率:11次    发布日期:2016-09-27]
  与这里最直接相关的研究领域是对架构风格和架构级模式的识别和分类。
 
  Shaw描述了一些架构风格,后来Garlan和Shaw对这些架构风格进行了扩展。Shaw和Clements提出了这些架构风格的初步分类,Bass等人重复了他们的工作,其中使用了以控件和数据为坐标轴的二维的、表格化的分类策略,按照以下功能类别加以组织:在架构风格中使用哪种组件和连接器;在组件之间如何共享、分配和移交控件;数据如何通过系统来进行通信;数据和控件如何交互;何种类型的推理机制是与该架构风格相兼容的。这种分类方法的主要目的是标识架构风格的特征,而不是帮助对架构风格进行比较。它总结出了一组“经验法则”,作为一种形式的设计指导。与这里不同的是,Shaw和Clements的分类并没有为应用软件的设计者提供一种有用的方法,以帮助他们对于设计进行评估。问题是建造软件的目的并不是建造一种具有特殊的形状、拓扑或者组件类型的系统,以这种方式来对分类加以组织,并不能够帮助设计者找到符合他们需要的架构风格。这样做也混淆了架构风格之间的本质区别和那些只具有次要重要性的其他问题,并且模糊了架构风格之间的来源关系。进一步讲,它并没有将焦点放在任何特殊的架构类型上,例如基于网络应用。最后,它无法描述出架构风格能够如何组合和将它们组合之后的效果。
 
  Buschmann和Meunier描述了一种根据抽象的粒度、功能、结构原则来对模式加以组织的分类方案。根据抽象的粒度将模式划分为三个分类:架构框架(architectural frameworks,用于架构的模板)、设计模式和习惯用法。他们的分类解决的一些问题与本文所解决的问题相同,例如分离关注点和产生架构属性的结构原则,但是仅仅覆盖了两种这里所描述的架构风格。他们的分类后来又被Buschmann等人进行了相当大的扩展,后面的这份文献讨论了广泛得多的架构模式,以及它们与软件架构的关系。
 
  Zimmer使用了一个以设计模式之间的关系为基础的图表,来对设计模式加以组织,这使得理解Gamma等人的目录中的模式的全部结构更加容易。然而,被分类的模式并不是架构模式,分类仅仅是排他性地基于起源或使用关系,而不是基于架构属性。
点击这里与客服在线即时交流·在线交流>>