分层式结构究竟其优势何在?
1、开发人员可以只关注整个结构中的其中某一层;
2、可以很容易的用新的实现来替换原有层次的实现;
3、可以降低层与层之间的依赖;
4、有利于标准化;
5、利于各层逻辑的复用。
概括来说,分层式设计可以达至如下目的:分散关注、松散耦合、逻辑复用、标准定义。
一个好的分层式结构,可以使得开发人员的分工更加明确。一旦定义好各层次之间的接口,负责不同逻辑设计的开发人员就可以分散关注,齐头并进。例如UI人员只需考虑用户界面的体验与操作,领域的设计人员可以仅关注业务逻辑的设计,而数据库设计人员也不必为繁琐的用户交互而头疼了。每个开发人员的任务得到了确认,开发进度就可以迅速的提高。
松散耦合的好处是显而易见的。如果一个系统没有分层,那么各自的逻辑都紧紧纠缠在一起,彼此间相互依赖,谁都是不可替换的。一旦发生改变,则牵一发而动全身,对项目的影响极为严重。降低层与层间的依赖性,既可以良好地保证未来的可扩展,在复用性上也是优势明显。每个功能模块一旦定义好统一的接口,就可以被各个模块所调用,而不用为相同的功能进行重复地开发。
进行好的分层式结构设计,标准也是必不可少的。只有在一定程度的标准化基础上,这个系统才是可扩展的,可替换的。而层与层之间的通信也必然保证了接口的标准化。
“金无足赤,人无完人”,分层式结构也不可避免具有一些缺陷:
1、降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。
2、有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zhengkai12/archive/2006/08/17/1089538.aspx
分享到:
相关推荐
在IT行业中,分层结构是一种常见的软件架构设计模式,它将复杂的系统分解为多个相互协作的层次,每个层次负责特定的功能。"体系结构 分层结构 电话本PhoneBook"项目正是这种设计理念的一个实例,它利用Hibernate框架...
在Android开发中,理解应用程序的文件夹分层结构至关重要,因为这是组织代码、资源和配置文件的基础。"001_android文件夹分层结构"很可能是一个示例或教程,用于帮助开发者了解Android项目的目录结构。这个结构通常...
也就是说从代码的结构中我们可以直接理解业务的设计,命名得当的话,非程序人员也可以“读”代码。然而在整个DDD的建模过程中,我们更多关注的是核心领域模型的建立,我们认为完成业务的需求就是在领域模型上的一...
微服务的一级目录结构通常按照DDD的四层模型划分,如interfaces、application、domain和infrastructure。 在接口层,interfaces目录下,包括了 assembler、dto和façade三个子目录。Assembler负责DTO(Data ...
在IT领域,分层结构是一种常见的系统设计模式,它将复杂的应用程序或系统分解为多个独立的层次,每个层次负责特定的功能。这种架构允许模块化,使得开发、维护和扩展变得更加容易。以下是对分层结构的详细解释: 一...
**分层B帧结构在MVC编码中的应用** 在视频编码领域,多视点视频编码(Multi-View Video Coding, MVC)是一种高效处理多个视角视频流的技术,它被广泛应用于3D电视、虚拟现实和增强现实等场景。MVC编码通过利用不同...
SDH 网络分层结构包括电路层、通道层、传输媒质层。SDH 的帧结构由 9 行、270 列组成,每列宽一个字节即 8 比特,开始 9 列为开销所用,其余 261 列则为有效负荷即数据存放地。整个帧容量为(261+9)×9=2430 字节,...
计算机系统分层结构 计算机系统分层结构是计算机科学中一个基础概念,它描述了计算机系统的层次结构。该结构从高层到低层,可以分为五层:机器语言层、汇编语言层、操作系统层、指令系统层和微体系结构层。 1. ...
《S2-分层结构-酒店管理系统》是一个全面的教程,涵盖了从设计到实现酒店管理系统的各个关键步骤。系统基于C#编程语言,利用分层架构来组织代码,确保了良好的可读性、可维护性和模块化。在这个系统中,我们主要关注...
网络协议的分层体系结构是通信领域中的基础理论,它为复杂的网络通信提供了有序的组织方式。开放系统互参考模型(OSI)是这个体系结构的代表,它将网络通信功能划分为七个层次,分别是物理层、数据链路层、网络层、...
在计算机网络领域,分层结构是一种重要的设计原则,它将复杂的网络通信问题分解为一系列相对简单、独立的任务,便于管理和实现。"1.2.1 分层结构、协议、接口、服务"这一主题中,主要涵盖了以下几个核心概念: 1. ...
基于分层分布式结构的水电站计算机监控系统设计涉及了多个方面的知识点,包括水电站运行管理、计算机监控系统的开发、分层分布式结构的应用、监控系统功能的设计及实现、系统通信以及监控系统在水电站中的实际应用...
为了提高目前爬虫算法抓取结果的有效性, 提出了一种旨在获取有效信息的改进网络爬虫算法, 主要设计了信息的分层结构保留策略和URL过滤模式。在改进算法中, 网络资源定位符被分层存储, 在保留信息全部拓扑关系的基础...
数据仓库是决策支持系统(dss)和联机分析应用数据源的结构化数据环境。数据仓库研究和解决从数据库中获取信息的问题。数据仓库的特征在于面向主题、集成性、稳定性和时变性。 数据仓库 ,由数据仓库之父比尔·恩门...
【标题】:基于分层结构的智能车系统架构 【描述】:该文档详细探讨了智能车系统的分层架构设计,旨在提高智能车的容错性和可扩展性。通过分析国内外智能车系统的现状,提出了一个适用于军事交通学院的智能车软硬件...
在“一种带分层结构的瓦楞纸箱”设计中,我们可以深入探讨以下几个关键知识点: 1. **瓦楞纸箱的结构**:瓦楞纸箱通常由面纸、芯纸和里纸组成,其中芯纸包含瓦楞结构,增加箱体的刚性和强度。这种分层结构使得纸箱...
《Linux内核分析与编程》的第14章_Linux网络系统分层结构。
计算机网络分为7层,每层都有相应的协议及内容,物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。