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

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

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

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

一、数据流风格

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

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

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

二、调用/返回风格

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

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

三、独立构件风格

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

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

四、虚拟机风格

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

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

五、仓库风格

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

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

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

六、特定领域软件架构

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

七、状态转移

RESTFULL风格

八、分布式风格

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

软件架构设计师:软件架构风格相关推荐

  1. 系统架构设计师 - 软件架构设计 - 架构评估

    软件质量属性 记忆口诀 : 安全 操作 功能 修改 靠/用 可变 性 安全性 系统提供功能给合法用户的同时,拒绝 非法用户的访问请求 或 企图 的能力; 互操作性 系统与外部系统 (环境) 进行相互作 ...

  2. 软件架构设计---软件架构视图

     软件架构视图 从软件架构本身的特点出发讨论了架构建模及与特定应用领域密切相关的架构风格.本节将从对架构编档的角度对软件架构视图及其风格进行讨论. 1 软件视图的分类  现代软件系统非常复杂,通常在某 ...

  3. 软件架构设计---软件架构概述

    像学写文章一样,在学会字.词.句之后,就应上升到段落,就应追求文章的"布局谋篇",这就是架构.通俗地讲,软件架构设计就是软件系统的"布局谋篇". 人们在软件工程 ...

  4. 软件架构设计---软件架构评估

    软件架构评估 软件架构评估是在对架构分析.评估的基础上,对架构策略的选取进行决策.它也可以灵活地运用于对软件架构进行评审等工作中. 1 软件架构评估的方法     业界已开发出多种软件架构评估的方法, ...

  5. 软件架构设计-软件架构评估、 产品线、架构复用

    一.软件架构评估 软件架构评估是在对架构分析.评估的基础上,对架构策略的选取进行决策.它也可以灵活地运用于对软件架构进行评审等工作中. 二.软件架构评估的方法 业界已开发出多种软件架构评估的方法,按基 ...

  6. 系统架构设计师 - 软件架构设计 - 软件架构风格

    文章目录 软件架构风格描述 数据流风格 批处理风格 管道过滤器风格 调用返回风格 主子程序风格 面向对象(显式调用风格) `层次结构`风格 独立构件风格 调用返回风格(隐式调用) 虚拟机风格 基于规则 ...

  7. 软件架构设计——软件架构风格

    软件架构风格 软件架构设计的一个核心问题是能否使用重复的软件架构模式,即能否达到架构级别的软件重用.也就是说,能否在不同的软件系统中,使用同一架构.基于这个目的,学者们开始研究和实践软件架构的风格和类 ...

  8. 软件架构设计---软件架构风格

    软件架构风格 软件架构设计的一个核心问题是能否使用重复的软件架构模式,即能否达到架构级别的软件重用.也就是说,能否在不同的软件系统中,使用同一架构.基于这个目的,学者们开始研究和实践软件架构的风格和类 ...

  9. 系统架构设计师 - 软件架构设计 - 特定领域软件架构DSSA(Domain Speciffic Softwore Architecture)

    特定领域软件架构 某一特定应用领域内,为一组应用提供组织结构参考标准.高层次的软件架构 横向特定领域: 例如持久层设计领域 纵向特定领域: 例如供应链系统领域 活动过程 领域分析:根据领域知识 ,获取 ...

最新文章

  1. android sdk软件开发套件,ANDROIDSDK-SITARA
  2. Stm32 Bootloader整理
  3. CSDN博客 专用备份工具
  4. IBM挺进云计算 自家内采用私有云模式
  5. “国家科学数据中心”联合专刊征稿
  6. 分支-13. 计算天数
  7. c语言教程for,C语言菜鸟基础教程之for循环
  8. php 循环table,php table循环 问题很简单 求帮助
  9. 阶段5 3.微服务项目【学成在线】_day03 CMS页面管理开发_08-新增页面-前端-Api调用...
  10. openwrt刷回原厂固件_小米路由器4刷breed, pandavan,openwrt
  11. 基于JAVA大众点评管理系统计算机毕业设计源码+系统+lw文档+部署
  12. 计算机开机响三短嘀嘀,电脑显示器不亮,开机2短3长报警音什么情况啊?:电脑...
  13. n维空间被m个n-1维的“刀”最多切出多少块
  14. 如何配置CK-S610-A01半导体读写器的RFID工具擦写TI低频玻璃管标签RI-TRP-DR2B-40的UID号
  15. 企业电子邮件营销策略(Email营销策略)
  16. android 切回前台,Android退到后台与切到前台
  17. Flak-SQLAlchemy安装和介绍
  18. 如何利用开关量信号传输装置实现工厂智能化技改?
  19. JAVA程序设计:赛车(LeetCode:818)
  20. TCP/IP协议,HTTP协议,get和post请求的关联与区别

热门文章

  1. tomcat修改配置文件ip为服务器真实ip
  2. 大话设计模式 第二章 策略模式购物车价格查询
  3. QT 如何去除QListView选中item后的虚线框
  4. 一个神奇的测试_被套住就要说真话!《神奇女侠》的作者真的发明过测谎仪
  5. office2010无法卸载问题
  6. 佐治亚理工计算机科学录取,留学案例 | 佐治亚理工大学计算机科学硕士申请条件及案例分享...
  7. postgresql 锁_PostgreSQL中的锁:3.其他锁
  8. 自动生成企业画像(标签)
  9. icc校色文件使用教程_Win7系统色彩管理显示器ICC设置的操作方法
  10. 红米4刷linux,极客精神,国外大神将红米Note 7刷上了Ubuntu