当前位置: 首页 > news >正文

3.1软件体系结构风格

首先,我们需要先明确一个概念,什么叫软件体系结构的风格?定义便是:描述某一特定应用领域中系统组织方式的惯用。即,定义了用于描述系统的术语表和一组指导构建系统的规则。这方便了软件大粒度的重用。因此,当人们使用常用的,规范的方式来组织时,即可使别的设计师很容易理解系统的体系结构。下面是一些常用的软件体系结构风格

 

  (一)经典软件体系结构风格

    1.数据流风格:批处理序列,管道与过滤器

    2.调用/返回风格:主程序与子程序,面向对象风格,层次结构

    3.独立构件风格:进程通信,事件系统

    4.虚拟机风格:解释器,基于规则的系统

    5.仓库风格:数据库系统,超文本系统,黑板系统

  (二)客户/服务器风格

    通过一台物理上与宿主机相连接的非智能终端来实现宿主机上的应用程序。C/S软件体系结构是基于资源不对等,且为实现共享而提出的

  (三)三层C/S结构风格

    表示层负责处理用户的输入和向用户输出;

    功能层负责建立数据库的连接,根据用户的请求生成访问数据库的SQL语句,并把结构返回给客户端

    数据层负责实际的数据库存储和检索,相应功能层的数据处理请求,并将结构返回给功能层

  (四)浏览/服务器风格

    是上述三层C/S应用结构的一种实现方式,其具体结构为:浏览器/Web服务器/数据库服务器

  (五)公共对象请求代理体系结构

    使对象可以透明地发出请求和获得应答,从而建立起一个异质的分布式应用环境

  (六)正交软件体系结构

    由组织曾和线索的构件构成。层是由一组具有相同抽象级别的构件构成。线索是子系统的特例,由完成不同层次功能的构件组成。每一条线索完成整个系统中相对独立的一部分功能。每条线索的实现与其他线索的实现无关或关联很少,在同一层中不存在相互调用

转载于:https://www.cnblogs.com/Ph-one/p/7544137.html

相关文章:

  • 3.2 二十三种设计模式全解析
  • +1.1向量 链表 数组
  • 对于逆序数组,,选择排序 和 插入排序 那个更快?
  • +7白盒测试与黑盒测试的定义与区别
  • +1瀑布模型的主要特征是什么
  • EFM32G232F64时钟树
  • C语言中 ln(以自然对数e为底) lg(以十为底) 以及logab(以a为底,b为真数)的相关知识...
  • Ubuntu gcc错误:对'log'等函数未定义的引用
  • error: 'for' loop initial declarations are only allowed in C99 mode
  • 浮点数比较大小的问题
  • 线性代数线性相关特例
  • +2开闭原则
  • (+4)2.2UML建模图
  • 2.1分层数据流
  • +6是不是用例越多越好?为什么说明原因
  • [分享]iOS开发 - 实现UITableView Plain SectionView和table不停留一起滑动
  • CSS相对定位
  • ES6, React, Redux, Webpack写的一个爬 GitHub 的网页
  • Java 11 发布计划来了,已确定 3个 新特性!!
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • Java,console输出实时的转向GUI textbox
  • linux学习笔记
  • Promise面试题2实现异步串行执行
  • 安卓应用性能调试和优化经验分享
  • 关于List、List?、ListObject的区别
  • 缓存与缓冲
  • 如何实现 font-size 的响应式
  • 使用parted解决大于2T的磁盘分区
  • 一个完整Java Web项目背后的密码
  • 关于Android全面屏虚拟导航栏的适配总结
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • # Swust 12th acm 邀请赛# [ E ] 01 String [题解]
  • # 安徽锐锋科技IDMS系统简介
  • (Matalb分类预测)GA-BP遗传算法优化BP神经网络的多维分类预测
  • (六)软件测试分工
  • (一)kafka实战——kafka源码编译启动
  • (一)使用Mybatis实现在student数据库中插入一个学生信息
  • (转)C语言家族扩展收藏 (转)C语言家族扩展
  • (转)关于如何学好游戏3D引擎编程的一些经验
  • (转)详解PHP处理密码的几种方式
  • .helper勒索病毒的最新威胁:如何恢复您的数据?
  • .h头文件 .lib动态链接库文件 .dll 动态链接库
  • .net 7 上传文件踩坑
  • .net 程序 换成 java,NET程序员如何转行为J2EE之java基础上(9)
  • .NET 应用启用与禁用自动生成绑定重定向 (bindingRedirect),解决不同版本 dll 的依赖问题
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地中转一个自定义的弱事件(可让任意 CLR 事件成为弱事件)
  • .NET企业级应用架构设计系列之应用服务器
  • @PreAuthorize注解
  • [100天算法】-目标和(day 79)
  • [boost]使用boost::function和boost::bind产生的down机一例
  • [BZOJ] 2006: [NOI2010]超级钢琴
  • [C++] cout、wcout无法正常输出中文字符问题的深入调查(1):各种编译器测试
  • [CodeForces-759D]Bacterial Melee
  • [Google Guava] 2.1-不可变集合
  • [hdu 3652] B-number