`
韩悠悠
  • 浏览: 842381 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

2,分层的思想

 
阅读更多

在分解复杂的软件系统时,软件设计者使用最多的技术之一就是分层,在计算机本身的架构中也可以看到。
存CPU指令集和设备驱动程序,在到内部芯片和各个逻辑门电路。网络中,FTP层架构在TCP之上,TCP架构
在IP之上,IP架构又在以太网之上。

在这种组织方式下;
上层使用了下层定义的各种服务,而下层对上层一无所知。另外,每一层对自己的上层隐藏其下层的细节。

系统分层的好处
1,无需过多了解其他层次的基础上,就可以将某一层作为一个有机的整体来理解。
2,可以替换某次的具体实现,只要前后提供的服务相同即可。
3,可以将层次间的耦合度降到最低
4,分层有利于标准化工作,(比如TCP)
5,一旦构建好某一层,就可以用他为很多上层服务提供支持。
系统分层的缺点
1,层次不能封装所有东西,有时他会为我们带来联级修改。
2,过多的层次会影响性能。

三个基本的层次
表现层:提供服务,显示信息。
领域层:逻辑,系统中真正的核心。
数据源层:与数据库,消息系统,事物管理及其他软件包通信。

表现层的主要职责就是向用户显示信息并把从用户那里获取的信息解释成领域层或数据源层上的各种动作。
数据源层就是数据库,主要职责是存储持久数据。
领域逻辑,也成业务逻辑。根据输入数据或者已有数据进行计算,对从表现层输入的数据进行验证,以及根据
从表现层接收的命令来确定应该调度哪些数据源逻辑。

到目前为止,我们一直都在讨论用户,假如是一个很时髦的WEB SERVICE或者一个古老的批处理程序呢?这样,很显然
表现层就有可能与数据源层出现某些相似之处,因为他们都是系统与外界的接口。
因此,为别人提供服务的接口与使用别人服务的接口存在较大的差异。需要明确区分。
表现层是系统对外提供服务的外部接口。不管外界是复杂的人类还是一个简单的远程程序。
数据源层是系统使用外部服务的接口。


一般情况下,我们尽量使用三层架构,
一旦在复杂点,可以将三层分解到不同的子层。
伴随着分离,还有一条关于依赖性的原则,领域层和数据源层绝对不要依赖于表现层。也就是说,在领域层和数据源层的代码中,
绝不要出现调用表现层的代码。

分享到:
评论

相关推荐

    .DAO分层思想

    DAO(Data Access Object)分层思想是软件设计模式中一种常用的数据访问模式,它主要用于将业务逻辑与数据访问逻辑分离,提升代码的可维护性和可扩展性。在C#编程中,DAO层扮演着关键角色,它使得应用程序可以与...

    单片机程序设计里的“分层思想”

    ### 单片机程序设计中的“分层思想” 在单片机程序设计领域,采用合理的架构和设计思想对于提升程序的可维护性、扩展性和效率至关重要。“分层思想”是一种非常有效的程序设计策略,它可以帮助开发者更好地组织代码...

    浅谈单片机程序设计中的“分层思想”(转)

    在单片机程序设计领域,分层思想是提高代码质量和开发效率的重要方法之一。这种思想通过将程序结构化分层,不仅能够简化代码的复杂度,还能够适应不同硬件平台的变化,使得软件具有更好的通用性和可维护性。本文将...

    浅谈单片机程序设计中的“分层思想”

    在单片机程序设计中,"分层思想"是一种重要的设计原则,它有助于提高代码的可读性、可维护性和可扩展性。分层思想主要体现在将复杂的系统分解为若干个独立的功能层,每个层专注于特定的任务,从而降低系统的复杂度。...

    C#分层思想之实例项目详解

    总的来说,C#分层思想是软件工程中的重要概念,通过合理划分各层,可以使项目更易于管理,提高开发效率。在实际项目中,根据需求和团队规模,还可以考虑添加其他层次,如服务层、缓存层等,以优化系统性能和架构。

    高手系列!谈单片机程序设计中的“分层思想”

    ### 单片机程序设计中的“分层思想” #### 一、引言 单片机是一种集成微处理器、存储器及各种输入/输出接口于一体的微型计算机系统,被广泛应用于各个领域,如工业控制、家用电器、汽车电子等。随着单片机技术的...

    单片机重要设计思想 分层与时间片轮

    单片机重要设计思想分层与时间片轮 里面包含两个文档 分层的思想,并不是什么神秘的东西,事实上很多做项目的工程师本身自己也会在用。看了不少帖子都发现没有提及这个东西,然而分层结构确是很有用的东西,参透后...

    基于面向对象分层思想的PHP增删改查demo

    首先,"分层思想"是将一个复杂的系统分解为多个独立的层次,每个层次负责不同的职责。常见的三层架构包括表现层(Presentation Layer)、业务逻辑层(Business Logic Layer)和数据访问层(Data Access Layer)。在...

    《浅谈最短径路问题中的分层思想》

    这篇文章《浅谈最短径路问题中的分层思想》由吕子鉷撰写,主要探讨了在解决这类问题时如何运用分层的思想来优化算法,提高效率。 最短路径问题通常出现在图论中,涉及寻找网络中两个节点之间的最短路径。常见的最短...

    java swing mvc设计模式 分层思想 自助订餐系统

    Java Swing MVC设计模式与分层思想在自助订餐系统中的应用 Java Swing 是Java平台上的一个图形用户界面(GUI)工具包,它为开发者提供了一系列组件来构建桌面应用程序。在这个自助订餐系统中,开发人员利用Swing...

    Java分层思想.pdf

    在标题中提及的“Java分层思想.pdf”可能是指一本介绍Java编程语言中分层架构设计的电子文档。分层思想在编程中是一种重要的设计原则,尤其在Java开发中广泛应用,目的是为了实现软件模块化,便于开发和维护。分层...

    有关Java分层的思想

    Java分层思想是JavaEE应用开发中的核心设计原则,它旨在提高代码的可维护性、可扩展性和可重用性。这种思想将复杂的系统分解为多个独立的层次,每个层次负责特定的功能,使得代码结构清晰,降低了耦合度。下面我们将...

    .Net分层架构设计

    2. 业务逻辑层(BLL):这是应用程序的核心,包含了业务规则和流程。BLL处理由用户界面层传递过来的请求,调用DAL进行数据操作,并确保业务规则得到正确执行。这一层应避免直接暴露数据库操作,而是通过接口与DAL...

    简单员工系统的实现(分层思想、数据库连接池的使用)

    在本项目中,我们主要探讨的是如何实现一个简单的员工系统,该系统采用了分层设计思想以及数据库连接池技术。这个系统的核心目标是通过控制台进行数据交互,对部门表和员工表进行基本的CRUD(创建、读取、更新、删除...

    浅谈最短路径问题中的分层思想.doc

    浅谈最短路径问题中的分层思想.doc

    学生管理系统(分层开发)

    2. **表示层(Presentation Layer)** 这一层主要处理与用户交互的任务,如显示界面、接收用户输入。在学生管理系统中,可能包括注册登录界面、学生信息展示页面、课程管理页面等。这一层通常由Web页面或桌面应用...

Global site tag (gtag.js) - Google Analytics