2、分层体系结构
属于调回-返回风格,在现代软件开发中,应用分层的方法通常把软件开发划分为物理层、逻辑层和应用层。
分层体系结构通常加将软件系统组成一个层次结构,每一层为上层服务,并作为下层的客户。在一些分层系统中,除了一些精心安排的输出函数外,内部的层支队相邻的层可见。这样的系统中构件在较低层实现了虚拟机为高层屏蔽底层细节和硬件变换连接件通过决定层如何交互的协议来定义拓扑约束包括对相邻间交互的约束这种风格支持基于可增加抽象层的设计,允许将一个复杂问题分解成一个增量步骤序列的实现,每一层最大影响两层。同时只有给相邻提供相同的接口,允许每次用不同的方法实现,通用为冉家重用提供了强大的支持。
分层体系结构有助于这样的系统设计:将任务分解成多个子任务组,其中每个子任务组处于某个特定的抽象层次上。系统中的每一层承担着为上层提供服务和调用下层提供的功能,函数的任务。最上层则只调用下层提供的能够函数,最底层则只负责为相邻上一层提供服务,这样分层系统的各个构件在不同层次上形成了不同功能级别的虚拟机。
图13.3分层体系结构示意图如下
多层体系结构具有如下特点。
①系统功能分布在多个级别的不同层次上,系统维修和扩展都比较容易,因为系统功能的改变最多只影响相邻的上下层。
②从低层到高层可以分级控制,对不同级别的应用要求,提供不同水平的服务。
③多级系统可以扩充,以服务大量同时使用系统的用户。
④支持灵活的实现和重用,只有接口不变,同一级的不同实现可以交换使用。
这种体系结构使用上也有一些限制,如下所述。
①各层之间可能存在多种不同的通信协议
②新技术不能轻易应用,因涉及多个层次之间的连接,一个软件平台及开发工具一旦选定不可能 轻易更改。
13.2,3客户机/服务器体系结构
客户机/服务器(Client/ Server ,C/S)体系结构找那个,应用被分成两部分客户机(前台)负责完成与yoghurt交互的任务,如数据输入和输出结果的显示;服务器通常包含一组服务器对象,能同时为多个客户机提供服务,服务器为多个客户机应用程序管理数据,而客户机程序则只是发生请求和分析从服务器接收的数据,这是一种称为“胖客户机”或“瘦服务器”的体系结构,体系结构图参见图13.4
C/S体系结构优点:1、客户机、服务器的分离,客户机应用程序和服务器构件分别运行在不同的计算机上(有极大的适应性、灵活性、易于对系统进行扩充和删减) 2、允许客户机端和服务器端做远距离的连线操作,两者可以分开同时进行开发,一个服务器可以服务于多个客户机。3、功能构件的充分隔离,使客户机应用程序的开发集中于数据的显示和分析,而数据库服务器的开发,则集中于数据的管理,这样将大的应用处理任务分布到许多通过网络连接的低成本计算机上,可以节约大量的费用。
C