层
次
之
美
目录
常见分层模型概括
分层原则
网络OSI7层模型
计算机系统分层模型
两种软件分层思想
常见的分层模式
客户端——服务器模型
三层模型:用户表示层、业务逻辑层、数据层
多层结构的技术组成模型:表现层、中间层、数据层
网络系统常用的三层结构:核心层、汇聚层和接入层
RUP典型分层方法:应用层、专业业务层、中间件层、系统软件层
基于Java的B/S模式系统结构:浏览器端、服务器端、请求接收层、请求处理层。
某六层结构:功能层(用户界面)、模块层、组装层(软件总线)、服务层(数据处理)、数据层、核心层。
分层的原则
主要就将一个复杂的计算机网络分开管理,各个层实行相应的功能,便于管理和标准的实行。
分层的原则 :
1.各个层之间有清晰的边界,便于理解;
2.每个层实现特定的功能;
3.层次的划分有利于国际标准协议的制定;
4.层的数目应该足够多,以避免各个层功能重复
网络OSI7层模型
应用层
表示层
会话层
传输层
网络层
数据连路层
物理层
应用层
会话层
网络层
数据连路层
物理层
传输层
表示层
通 信 介 质
通 信 介 质
应用层
表示层
端系统A
端系统B
数据传输过程
为什么需要7层?
计算机网络的问题主要是解决异地独立工作的计算机之间如何实现正确、可靠的通信,计算机网络分层体系结构模型正是为解决计算机网络的这一关键问题而设计的。
计算机网络体系结构分为相对独立的七层:应用层、表示层、会话层、传输层、网络层、链路层、物理层。
层与层之间之间相互独立、隔离每一层对其他层的影响较小,各层的功能、结构相对稳定并且有利于灵活的扩充。这样,一个复杂而庞大的问题就简化为了几个易研究、处理的相对独立的局部问题。
计算机系统分层模型
从一般使用者的角度来看:
计算机系统是由硬件和软件组成的。
软件根据其在计算机系统中所起的作用又可进一步分 为系统软件和应用软件。
系统软件是指能够对计算机硬件资源进行管理,对用户方便使用计算机硬件资源提供服务的软件,其核心就是操作系统。
应用软件则是人们使用各种计算机语言为解决各种应用问题而编制的程序。
因此计算机系统自下而上又可以看成是由三个层次构成的:计算机硬件、系统软件和应用软件。下层为上层功能的实现提供支持。
计算机系统分层模型
而从计算机设计者的角度看:
计算机系统可以进一步划分为不同的层次来实现其功能。这种划分可以看成是概念上的划分,但却是十分有意义的。
图1-17自下而上的结构:
数字逻辑电路
控制系统
机器
系统软件
汇编语言
高级语言
用户
三层架构
三层架构是将整个业务应用划分为:表现层、业务逻辑层、数据访问层。
表现层:通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。
业务逻辑层:主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑处理。
数据访问层:是对数据的操作,而不是数据库,具体为业务逻辑层或表现层提供数据服务。
目的:“高内聚,低耦合”的思想
优点:降低层与层之间的依赖标准化
缺点:系统架构复杂,不适合小型项
MVC模式
MVC模式是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型、视图和控制器。
控制器:负责转发请求,对请求进行处理。
视图:界面设计人员进行图形界面设计。
模型:程序员编写程序应有的功能(实现算法等等)、数据库专家进行数据管理和数据库设计(可以实现具体的功能)。
MVC典型实现
典型的实现:
C++:微软所推出的MFC Document/View架构是早期对于MVC模式的实现,MFC将程序分成CView以及CDocument两大类型,其中的Document对应MVC中的Model,View相当于MVC中的View+Controller,再加上CWinApp类型,合成三大项。但是基本上MFC是一个失败的MVC模式作品。
Java:Swing组件
Swing是一个标准的MVC结构. ComponentUI代表View, 负责描画组件. 组件尤其Model层, 比如JTextField的Document, JTable的TableModel, JTree的TreeModel等等. 而Control可能不是很明显, 我们或许可以简单的将其Event机制看作一个Swing团队开发给开发者的Controller.
.Net:Windows Form
在WinForms中,这个针对视图(View)和控制器(Controller)的模式已经