博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
软件架构风格
阅读量:6672 次
发布时间:2019-06-25

本文共 972 字,大约阅读时间需要 3 分钟。

1.软件架构风格概述

  软件体系结构设计的核心问题:能否使用重复的体系结构模式,即能否达到体系结构级的软件重用。

  于是,软件体系结构的风格和类型便成为了主要研究人员的主要研究对象

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

2软件架构风格分类

(1)    数据流风格:包括批处理序列架构风格(Batch Sequential)和管理/过滤器架构风格(Pipes/Filters)。

(2)    调用/返回风格:包括主程序/子程序架构风格(Main Program and Subroutine)、数据抽象和面向对象架构风格(DataAbstraction and Object-Oriented)及层次结构架构风格(Hierarchical Layers).

(3)    独立构件风格:包括进程通信架构风格(Communicating Processes)和事件驱动架构风格(EventSystems)。

(4)    虚拟机风格:包括解释器架构风格(Interpreters)和基于规则的系统(Rule-based Systems)架构风格。

(5)    仓库风格:包括数据库架构风格(Database)和黑板架构风格(BlackBoards)

 

3.常用架构风格详细分析

3.1数据抽象与面向对象风格

  目前软件界已普遍转向使用面向对象系统

  原因:建立在数据抽象面向对象的基础之上

        数据的表示方法和相应操作具有独立性、封装性

        构件是对象(即封装后的抽象数据类型的实例)

        对象通过函数和过程的调用实现交互

  

          图 3‑1数据抽象和面向对象风格的体系结构

优点:

1. 当前对象对其它对象隐藏自身的表示,即改变一个对象却不影响其它对象

2. 数据存取操作的问题可被分解成一些交互的代理程序的集合。

问题:

1.对象与对象之间的交互必须以知道对象的标识为前提,也就是说只要一个对象的标识改变了,就必须修改所有其他将要调用它的对象。

2.一旦修改某些调用对象的标识将可能带来一些未知的副作用。例如,A调用对象B,C也调用对象B,那么,C对B的调用做出某些修改所造成的对A的影响可能是料想不到的。

 

 

转载于:https://www.cnblogs.com/GG-TEN/p/5285827.html

你可能感兴趣的文章
rhel6安装配置iscsi并实现自动挂载
查看>>
OA系统主要功能模块举例
查看>>
SEO整站优化方案制作
查看>>
我的友情链接
查看>>
【Java Servlet 开发系列之一】在mac系统安装Apache Tomcat的详细步骤
查看>>
开源龙芯loongson智龙主板V2.0程序putty登录、交叉编译、Series连接、telnet连接使用...
查看>>
Exchange 2013 SP1 安装准备工作
查看>>
冒泡排序
查看>>
如何使用ThreadingTest提高软件安全性检测效率(上)
查看>>
电脑经验--IPTV设置
查看>>
MySQL数据库--主主复制+keepalived高可用
查看>>
Linux CentOS 7 Shell基础(命令历史,管道,作业控制,变量及环境变量)
查看>>
linux学习笔记(一)
查看>>
IOS 自定义圆形进度条UISlider
查看>>
【Spring Boot】13.整合druid
查看>>
Java并发和并行的区别
查看>>
extjs down 的用法
查看>>
IDEA快捷键介绍使用
查看>>
layabox基础:hello world
查看>>
ClassUtil
查看>>