企业架构模式——分层

原创 2011年01月15日 12:40:00

一、分层设计的基本概念

在分解复杂的软件系统时,软件设计者用的最多的技术之一就是分层。在计算机体系机构中,可以看到,到处都有分层的例子,最为典型的,就是存储器的层次结构,如图所示:

存储器的层次结构

图1:计算机存储器的层次模型

可以看到,存储器的层次结构是按访问速度、存储容量等参数划分的,不同的层次有不同的职责。CPU内部的寄存器组是访问速度最快的存储设备,用于存储CPU运算过程中的指令和数据;主存中存储的的则是执行中程序(进程)需要的代码和数据。由于CPU访问主存的速度很慢,因此引入了高速缓存处理器(高速缓存),用于缓解CPU访问寄存器和主存的速度差异。同样,计算机网络中的TCP/IP协议栈也把层次性的设计思维体现的淋漓尽致:

TCP

图2:TCP/IP协议栈的五层模型

在层次结构中,上层模块依赖于下层模块,下层模块为上层模块提供服务,在代码中体现,就是上层可以调用下层提供的公共方法。比如应用层协议FTP架构在传输层TCP之上、TCP架构在互联网层协议IP之上。

当用分层的观点来考虑系统时,可以将各个子系统想象成“多层蛋糕”的形式,每一次都依托在其下层之上。在这种组织方式下,上层使用了下层定义的各种服务,而下层对上层一无所知。另外,每一层都对自己的上层隐藏其下层的细节。因此,第3层使用第2层提供的服务,第2层使用第1层提供的服务,第3层无需知道第1层的细节(当然,并非所有的分层架构都这么隔绝)。

将系统按照层次分解有很多好处:

①在无需了解其他层次的基础上,可以将某一层作为一个整体来理解

②可以很容易替换某层的实现,只要其前后提供的服务(接口)相同即可

③可以将层次间的依赖性减到最低

④一旦构建好了某一层,就可以用它为很多上层服务提供支持。比如,TCP可以同时被telnet、FTP和HTTP使用

分层式一种重要的技术,但也有缺陷

①层次有时会带来级联修改

②层次提供了一种间接性,因此过多的层次会影响性能

当人们讨论分层时,常常不容易区分layer和tier。这两个词汇经常被用作同义词,但是很多人还是认为tier意味着物理上的分离。客户/服务器系统常常被称为“two-tier system”,其分离是物理上的分离:客户端是一台台式机,而服务器端则运行在在另一个地方的服务器。layer强调无需把不同的层次放在不同的计算机上运行。

二、三个基本层次

层次 职责
表现层 与用户交互的接口
领域层(业务层) 业务逻辑,系统的核心
数据源层 与数据库、消息系统及其他软件包通讯

表现层:处理用户与软件的交互

领域层:也称为业务层,它完成领域相关的工作:包括根据输入数据或已有数据进行计算、对从表现层输入的数据进行验证,以及根据从表现层接受到的命令来确定应该调度哪个数据源逻辑。

数据源层:主要关注与其他系统的交互。比如数据库、消息系统等。

在某些小型系统中,表现层跨过了领域层而直接去和数据源层交互,实践证明这样也可以工作很好,不过这样的系统的业务逻辑都很简单。

三、参考资料

1、企业架构模式    Martin Flower  

[附:Android平台架构图、金山卫士产品架构图]

Android系统架构                        金山卫士产品架构图

 

相关文章推荐

企业架构模式——分层

一、分层设计的基本概念 在分解复杂的软件系统时,软件设计者用的最多的技术之一就是分层。在计算机体系机构中,可以看到,到处都有分层的例子,最为典型的,就是存储器的层次结构,如图所示: 图1:计算...

JBPM与企业架构模式之单例模式

        单例模式是我们开发中常用的一种设计模式,今天结合JBPM来学习这个模式。本来打算先分析JBPM中的单例模式,然后总结单例模式;但是JBPM的实现并不是完全符合GOF中队单例模式的完成定...

基于SOA模式的企业架构设计

  • 2008年01月14日 10:13
  • 91KB
  • 下载

从企业架构,看TOGAF为什么越来越重要?

什么是企业架构? 在“企业架构”上下文中,“企业”这一术语不仅可用来表示整个企业(包含所有信息和技术服务、流程和基础设施),而且可以表示企业内的一个特定领域。在这两个情形 中,架构可...

高并发负载均衡(一)——企业架构分析和DNS

最近研究了几个关于阿里研究院对于高并发的解决方案,总结一下,涨涨姿势。 企业级web项目架构图   1、客户端通过企业防火墙发送请求 2、在App服务器如tomcat接收客户端请求前,面对高并发大数...

【有明信息】虚实之间 ---关于企业架构是与非的探讨

管理理论自然为“虚”,将管理理论渗透到日常生活工作中,正视问题,运用管理方法,执行它,才能“实”。...

TOGAF企业架构的主要内容——上海信息化培训中心

TOGAF是一种协助开发、验收、运行、使用和维护架构的工具,它是基于一个迭代的过程模型,支持最佳实践和一套可重用的现有架构资产。它可设计、评估并建立组织的正确架构。TOGAF的关键是架构开发方法ADM...

为什么我们需要TOGAF企业架构?——上海信息化培训中心

企业架构如同战略规划,可以辅助企业完成业务及IT战略规划。在业务战略方面,可使用TOGAF及其架构开发方法(Architecture Development Method,ADM)来定义企业的愿景/使...

TOGAF企业架构的产生原因——上海信息化培训中心

近30年来,我国经济和社会的信息化建设从无到有、从小到大、从点到面、从弱到强,走过了一条飞速发展的道路。时至今日,国内外的产业界和学术界在信息化建设方面都已经达成了共识,即通过IT对信息进行有效的管理...

IT战略规划与企业架构

IT战略规划的根本目的是提升企业的战略能力,而能力的竞争是企业竞争力之本。在今天的环境下,信息技术已经成为提升企业竞争力之源,具有IT战略规划能力的人员是目前企业急需的高层次人才。为建立符合中国国情的...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:企业架构模式——分层
举报原因:
原因补充:

(最多只允许输入30个字)