软件结构体系和风格

来源:互联网 发布:如何将数据透视表移动 编辑:程序博客网 时间:2024/06/11 18:40

一:定义

      不同系统设计方案存在共性问题,把这些共性部分抽取出来,就形式了具有代表性和可广泛接受的体系结构风格。他已经在不同的系统和环境中多次尝试和测试过。所以,体系结构模式应该是一种系统构成。软件体系结构风格也称为结构惯用模式,指不同系统所拥有的共同组织结构。软件体系结构表示系统的框架结构,用于从较高的层次上来描述各部分之间的关系和接口,主要包括:构件、构件性质和构件之间的关系。

二:管道/过滤器结构主要包括过滤器和管道两种元素
构件被称为过滤器,负责对数据进行加工处理,每个过滤器都有一组输入端口和输出端口,从输入端口接收数据,经过内部加工处理之后,传送到输出端口上。数据通过相邻过滤器之间的连接件进行传输,连接件可以看作输入数据流和输出数据流之间的通路,这就是所谓的管道

三:面向对象风格
一个对象对外界隐藏了自己的详细信息,改变一个对象的表示,不会影响系统的其它部分继承和封装方法为对象复用提供了技术支持。

四:分层体系风格

在分层风格中,系统将划分为一个层次结构。每一层都具有高度的内聚性,包含抽象程度一致的各种构件,支持信息隐藏分层有助于将复杂系统划分为独立的模块,从而简化程序的设计和实现通过分解,可以将系统功能划分为一些具有明确定义的层,较高层是面向特定应用问题的,较低层更具有一般性。

每层都为上层提供服务,同时又利用了下层的逻辑功能,每层只对相邻层可见,层次之间的连接件是协议和过程调用,用以实现各层之间的交互。上层通过下层提供的接口来使用下层的功能,而下层却不能使用上层的功能,良好的层次结构将有助于对逻辑功能实施灵活的增加、删除和修改。

分层体系结构风格具有以下优点:
设计者可以将系统分解为一个增量的步骤序列,从而完成复杂的业务逻辑
每一层至多和相邻的上下两层进行交互,每一层的功能变化最多只影响相邻两层,便于实现系统功能的扩展
只要给相邻层提供相同的接口,就可以使用不同的方法来实现每一层,支持软件资源的复用
分层体系结构风格也存在着一些问题:

并非所有系统都能够按照层次来进行划分,即使一个系统的逻辑结构是层次化的,但是出于对系统性能的考虑,需要把不同抽象程度的功能合并到一层,破坏了逻辑独立性
很难找到一种合适和正确的层次划分方法,其应用范围受到限制
在传输数据时,需要经过多个层次,导致了系统性能下降
多层结构难以调试,往往需要通过一系列的跨层次调用来实现

五:C/S体系结构
客户机构件和服务器构件分别运行在不同的计算机上,有利于分布式数据的组织和处理
构件之间的位置是相互透明的,客户机程序和服务器程序都不必考虑对方的实际存储位置
客户机侧重数据的显示和分析,服务器则注重数据的管理,因此,客户机程序和服务器程序可以运行在不同的操作系统上,便于实现异构环境和多种不同开发技术的融合





0 0
原创粉丝点击