一、概念:
风格就是架构的模式,比如C/S、B/S架构,比如现实生活中的中式风格、欧式风格
描述某一特定应用领域中系统组织的方式
软件架构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。
架构设计的核心问题是能否达到架构级的软件复用
架构风格定义了用于描述系统的术语表和一组指导构架系统的规则
二、风格分类
1、数据流风格
面向数据流,按一定的顺序从前向后执行程序,代表的风格有批处理序列、管道-过滤器
批处理序列:(有固定顺序)构件为一系列固定顺序的计算单元,构件之间通过数据传递交互,每个处理步骤是一个独立的程序,每一步必须在前一步结束后才能开始,数据必须是完整的,以整体方式传递。
管道-过滤器:(有顺序,有数据流)每个构件有一组输入和输出,构件读取输入的数据流,经过内部处理,产生输出数据流。前一个构件的输出作为后一个构件的输入,前后数据流关联。过滤器就是构件,连接件就是管道。
二者区别:批处理前后构件不一定有关联,作为整体传递,前边整个构件运行完,才能运行后边构件。管道-过滤器,是前一个输出作为后一个输入,前面执行到部分可以开始执行后面,比如:视频播放。
2、调用/返回风格
构件之间存在互相调用的关系,显示的调用。代表风格有主程序/子程序、面向对象、层次结构
主程序/子程序:单线程控制,把问题划分为若干个处理步骤,构件即为主程序和子程序。过程调用充当连接件。柱/子程序互相调用。
面向对象:构件是对象,对象是通过函数或过程的调用交互的。
层次结构:构件组成是一个层次结构,连接件通过协议来定义,每层为上一层提供服务,使用下一层的服务,只能见到自己邻接的层,修改某一层,最多影响其相邻的两层(通常只能影响上层)。
Bean--Mapper--Service
3、独立架构风格
构件之间是相互独立的,通过某个事件触发、异步的方式执行,代表风格有进程通信、事件驱动系统(隐式调用)
进程通信:构件是进程,连接件是消息传递。构件是独立的占有独立的内存与存储空间。消息传递的方式是点对点、异步或同步方式,以及远程过程(方法)调用。
事件驱动系统(隐式调用):构件的过程在一个或多个事件中注册,当某个事件被触发时,系统自动调用在这个事件中注册的所有过程。
4、虚拟机风格
自定义了一套规则供使用者使用,使用者基于这个规则开发构件,能够跨平台适配,代表风格有解释器、基于规则的系统,JVM
解释器:具有解释器风格的软件中含有一个虚拟机,可以仿真硬件的执行过程和一些关键应用,缺点是执行效率低。
基于规则的系统:包括规则集、规则解释器、规则/数据选择器和工作内存,一般用在人工智能领域和DSS(决策支持)中。
5、仓库风格
以数据为中心,所有的操作都是围绕建立的数据中心进行,代表的风格有数据库系统、超文本系统、黑板系统。
数据库系统:常规数据库。
黑板系统:当成一个黑板,在黑板上展示数据信息
超文本系统:以网状链接方式相互连接。
6、闭环控制
软件和硬件之间表示为一个反馈循环,比如空调,会根据房间温度的反馈去自动调节温度
7、C2风格
按照规则通过连接件绑定在一起。
构件和连接件都有一个顶部和底部,构件的顶部连接到连接件的底部,构件的底部连接到连接件的顶部,构件与构件之间不允许直接连接
编写于:2024/11/5 1:50:56
发布 IP 属地:广东省深圳市
版权声明
阅读:100 点赞:1 留言:0
一、概念:
风格就是架构的模式,比如C/S、B/S架构,比如现实生活中的中式风格、欧式风格
描述某一特定应用领域中系统组织的方式
软件架构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。
架构设计的核心问题是能否达到架构级的软件复用
架构风格定义了用于描述系统的术语表和一组指导构架系统的规则
二、风格分类
1、数据流风格
面向数据流,按一定的顺序从前向后执行程序,代表的风格有批处理序列、管道-过滤器
批处理序列:(有固定顺序)构件为一系列固定顺序的计算单元,构件之间通过数据传递交互,每个处理步骤是一个独立的程序,每一步必须在前一步结束后才能开始,数据必须是完整的,以整体方式传递。
管道-过滤器:(有顺序,有数据流)每个构件有一组输入和输出,构件读取输入的数据流,经过内部处理,产生输出数据流。前一个构件的输出作为后一个构件的输入,前后数据流关联。过滤器就是构件,连接件就是管道。
二者区别:批处理前后构件不一定有关联,作为整体传递,前边整个构件运行完,才能运行后边构件。管道-过滤器,是前一个输出作为后一个输入,前面执行到部分可以开始执行后面,比如:视频播放。
2、调用/返回风格
构件之间存在互相调用的关系,显示的调用。代表风格有主程序/子程序、面向对象、层次结构
主程序/子程序:单线程控制,把问题划分为若干个处理步骤,构件即为主程序和子程序。过程调用充当连接件。柱/子程序互相调用。
面向对象:构件是对象,对象是通过函数或过程的调用交互的。
层次结构:构件组成是一个层次结构,连接件通过协议来定义,每层为上一层提供服务,使用下一层的服务,只能见到自己邻接的层,修改某一层,最多影响其相邻的两层(通常只能影响上层)。
Bean--Mapper--Service
3、独立架构风格
构件之间是相互独立的,通过某个事件触发、异步的方式执行,代表风格有进程通信、事件驱动系统(隐式调用)
进程通信:构件是进程,连接件是消息传递。构件是独立的占有独立的内存与存储空间。消息传递的方式是点对点、异步或同步方式,以及远程过程(方法)调用。
事件驱动系统(隐式调用):构件的过程在一个或多个事件中注册,当某个事件被触发时,系统自动调用在这个事件中注册的所有过程。
4、虚拟机风格
自定义了一套规则供使用者使用,使用者基于这个规则开发构件,能够跨平台适配,代表风格有解释器、基于规则的系统,JVM
解释器:具有解释器风格的软件中含有一个虚拟机,可以仿真硬件的执行过程和一些关键应用,缺点是执行效率低。
基于规则的系统:包括规则集、规则解释器、规则/数据选择器和工作内存,一般用在人工智能领域和DSS(决策支持)中。
5、仓库风格
以数据为中心,所有的操作都是围绕建立的数据中心进行,代表的风格有数据库系统、超文本系统、黑板系统。
数据库系统:常规数据库。
黑板系统:当成一个黑板,在黑板上展示数据信息
超文本系统:以网状链接方式相互连接。
6、闭环控制
软件和硬件之间表示为一个反馈循环,比如空调,会根据房间温度的反馈去自动调节温度
7、C2风格
按照规则通过连接件绑定在一起。
构件和连接件都有一个顶部和底部,构件的顶部连接到连接件的底部,构件的底部连接到连接件的顶部,构件与构件之间不允许直接连接
编写于:2024/11/5 1:50:56
发布 IP 属地:广东省深圳市
版权声明
本站内容均来自网络转载或网友提供,如有侵权请及时联系我们删除!本站不承担任何争议和法律责任!
每一个童年的梦想都值得用青春去捍卫!