软件架构决策派定义中列举了一系列架构设计阶段需要完成的决策,其中包括“确定架构风格”,那么什么是架构风格?都有哪些常见的架构风格呢?
架构风格定义了一组可以使用的元素类型(比如模块、组件、连接器等),还定义了一组如何使用这些类型的约束,比如系统的实时拓扑结构、模块之间的依赖及组件之间的可视性等。
其实架构风格就和设计模式类似,都是定义了组件及组件之间的关系,不过抽象层次不同而已,因此他们的作用也很类似。
常见架构风格列表
《恰如其分的软件架构》一书中给了一个常见架构风格列表。
管道-过滤器风格:在此风格中,数据从管道流向过滤器,过滤器对数据进行处理,这是运行架构视图的风格。管道-过滤器架构风格的元素包括管道、过滤器、读端口和写端口,过滤器从读端口读取数据,进行处理,然后写入到写端口;管道将写端口和读端口连接起来,相当于将两个过滤器连接起来。约束有两个:
1)过滤器独立,过滤器之间无交互。
2)过滤器增量的读、处理和写。典型例子是Linux操作系统的管道+各种可执行命令。带来的好处是可重用性(过滤器可被重用),可修改性和再配置型(可使用管道将多个过滤器连接起来形成灵活的功能)。
好处包括:
1)可修改性,这来自于信息生产者和消费者之间的解耦;
2)可扩展性:模型固定后,可方便的添加视图和控制器。典型示例是现代的集成开发环境,中心模型代表了被编辑程序的状态,包括源代码和已被解析的表现形式,这个模型呈现给许多视图和控制器,视图和控制器组件之间是相互独立的,但全部依赖于中心模型组件。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删
武汉格发信息技术有限公司,格发许可优化管理系统可以帮你评估贵公司软件许可的真实需求,再低成本合规性管理软件许可,帮助贵司提高软件投资回报率,为软件采购、使用提供科学决策依据。支持的软件有: CAD,CAE,PDM,PLM,Catia,Ugnx, AutoCAD, Pro/E, Solidworks ,Hyperworks, Protel,CAXA,OpenWorks LandMark,MATLAB,Enovia,Winchill,TeamCenter,MathCAD,Ansys, Abaqus,ls-dyna, Fluent, MSC,Bentley,License,UG,ug,catia,Dassault Systèmes,AutoDesk,Altair,autocad,PTC,SolidWorks,Ansys,Siemens PLM Software,Paradigm,Mathworks,Borland,AVEVA,ESRI,hP,Solibri,Progman,Leica,Cadence,IBM,SIMULIA,Citrix,Sybase,Schlumberger,MSC Products...