软件体系架构

来源:互联网 发布:淘宝男士休闲服装 编辑:程序博客网 时间:2024/04/30 11:36

       我认为软件的体系架构主要是软件的子系统以及子系统间的通信,还有系统的全局控制方法等。下面是几种现在比较流行的阮籍爱你体系结构的设计思路。

                                              1  仓库体系结构

    在仓库体系结构(RepositoryArchitecture)中,数据的集中地就好像一个仓库,这里数据存放的地方就是数据库。系统的每一个子系统都可以通过控制流加权限来访问仓库或者是修改仓库。由于子系统完全依赖于仓库,导致二者之间的耦合度很高,但是仓库管理系统由于它的仓库是独立的,所以此体系可以不断变化,灵活度很高。

                                             2   MVC体系结构

     在模型/视图/控制器体系结构(Model ViewControl Architecture,MVC Architecture)中,我认为简单的讲就是传统的输入、输出、处理三个过程,因为MVC体系结构将仓库系统中的子系统分为了三个部分,分别是模型子系统、视图子系统、控制子系统。其中模型子系统负责维护和管理系统的数据结构和数据信息,相当于输入。视图子系统负责把系统处理之后的数据信息显示给用户,相当于输出。控制子系统则负责管理控制对象,相当于处理。MVC更多用于交互式的程式开发。

                                            3  客户/服务器(C/S)体系结构

     在客户/服务器(Client/ServerArchitecture)体系结构中有两个大的子系统一个是服务器,还有一个是客户端。两个子系统之间通过远程调用和控制来实现交互,在此体系结构中,二者的控制流都是比较独立的。客户端负责接收来自用户的输入,检查,处理。服务器负责执行事务,保证数据的完整性。之所以使用这个体系结构式因为支持分布式开发,单个客户可以访问数千个不同的服务器的数据。当个服务器数据也可以供很多客户端使用。所以当客户和服务器之间的关系式多对多时,尅有效的提高资源的利用效率和共享程度。当然此体系结构也有很多限制,例如二层结构示意局域网为中心得,很难扩展至大的广域网当中。而且安全性也不好,客户端可以直接访问数据库服务器。此后又出现了三层C/S结构。它将整个系统分为功能层、表示层、数据层。表示层负责应用程序与客户的接口操作和对话,只负责接收,不提供处理。功能层则负责对用户提出的业务进行处理。数据层就是数据库管理系统(ODBC),负责管理对数据库数据的读写。三层在二层的基础上进行了明确的分工,个层之间通过接口来实现调用。我们可以很简单的明白三层比二层的灵活性更高,安全性更好。

                                               4   B/S体系结构

  B/S结构即Browser/Server(浏览器/服务器)结构,随着Internet技术的迅速发展,用户可以通过WWW浏览器来实现需求提出。软件的主要的组成全都部署在服务器的一方,客户通过浏览器访问服务器,并下载或利用一些组件实现客户端的交互访问。所用的技术主流的有Java的J2EE和基于DCOM的.NET.技术。与C/S相比较B/S的应用面更广,重用性更好,维护也比较简单可是安全性不如C/S,因为B/S是通过浏览器来实现用户界面的,所以面临的客户也不知道,而且这些客户可以直接访问数据库。

                                               5  对等体系结构

    对等体体系结构(Peer-to-Peer Architecture)中,每一个对等体都是一个子系统,他们的地位和结构都是相似的,既可以作为客户也可以作为服务器,即每个子系统既可以请求服务,也可以提供服务,而且每个对等体之间都是相对独立的,通过接口来实现交互。由于对等体体系结构的每个子系统都相当于一个客户机和一个服务器的集成体,这样灵活性更高,可是这样对等体之间的交互会更复杂,控制流更复杂。
原创粉丝点击