软件架构设计师:软件架构风格

        软件架构设计的一个核心问题是能否使用重复的软件架构模式,即能否达到架构级别的软件重用。——基于这个目的,学者们开始研究和实践软件架构的风格和类型问题。

        软件架构风格是描述某一特定应用领域中系统组织方式的惯用模式,即定义了用于描述系统的术语表和一组指导构建系统的规则。

        软件架构风格为大粒度的软件重用提供了可能性。

        软件架构风格涉及的问题:设计词汇表是什么?构件和连接件的类型是什么?可容许的结构模式是什么?基本的计算模型是什么?风格的基本不变性是什么?此风格的优缺点是什么?其常见的特例是什么?

一、数据流风格 

        包括两种具体的风格:批处理序列和管道/过滤器。

       批处理的风格的每一步都是独立的,并且每一步都是顺序执行的。依赖关系。典型应用包括:经典数据处理、程序开发、Windows下的BAT程序。

       在管道/过滤器软件风格中,每个构件都有一组输入和输出,一般对输入进行变换和增量计算完成。

二、调用/返回风格

        实际上是一种分而治之的策略,其主要思想是将一个复杂的大系统分解为一些子系统,以便降低复杂度,并且增加可修改性。

        包括:主程序/子程序、面向对象风格、层次结构风格。

 

三、独立构件风格

       每个构件都是相对独立的个体,之间不直接通信,以降低耦合度,提升灵活性。

       包括进程通信风格、事件系统风格

 

四、虚拟机风格

        基本思想是人为构建一个运行环境,在这个环境之上,可以解析与运行自定义的一些语言,这样来增加架构的灵活性。

        包括解释器和规则为中心的风格。

 

五、仓库风格

       包括数据库系统、超文本系统、黑板风格。

       超文本系统的典型代表就是早期的静态网页。

       黑板风格包括:知识源、黑板(共享数据)、控制

六、特定领域软件架构

        DSSA:领域分析——领域设计——领域实现

七、状态转移

        RESTFULL风格

八、分布式风格

        包括C/S、B/S、CORBA、EJB、DCOM等。

       

 

你可能感兴趣的:(系统架构设计师)