三层架构软件设计分层模式

简介: 分层思想是为了让每层中的组件保持内聚性,每层都应与其下面的各层保持松耦合,对于小型的项目一般三层就够了,分层的方案有很多种,其中最具影响力也最成熟的就是三层架构.三层架构三层指的是表示层,业务逻辑层,数据访问层表示层:位于最外层(最上层),使用户能够直接访问,用于显示数据和接收用户输入的数据,为用户提供一种交互式操作界面.

 

分层思想是为了让每层中的组件保持内聚性,每层都应与其下面的各层保持松耦合,对于小型的项目一般三层就够了,分层的方案有很多种,其中最具影响力也最成熟的就是三层架构.

三层架构

三层指的是表示层,业务逻辑层,数据访问层

表示层:位于最外层(最上层),使用户能够直接访问,用于显示数据和接收用户输入的数据,为用户提供一种交互式操作界面.web应用程序中,表示层一般以JSP.HTML文件为主.

业务逻辑层:主要功能是对业务逻辑处理的封装,业务逻辑层中,通常会定义一些接口,表示层通过调用业务逻辑层的接口实现各种操作;

数据访问层:该层实现对数据的保存和读取操作.

层与层之间的关系

三层架构中,各层之间相互依赖,上一层依赖下一层,各层之间的数据传递方向分为请求和响应两个方向.

过程:

1.表示层根据用户的操作,请数据提交到业务逻辑层;

2业务逻辑层对用户的操作进行审核和处理,然后将请求通知数据访问层或者直接返回给表示层;

3数据层收到业务逻辑层的请求便开始访问数据库,从数据库中访问得到请求结果;

4并把请求结果通知业务逻辑层,业务逻辑层对数据进行审核和处理,

5然后通知给表示层,表示层收到数据,并把数据展示给用户;

 

分层原则:

1上层依赖下一层,依赖关系不跨层

上一层调用下一层所得到的执行结果完全取决于下一层中的实现代码,上一层无法进行控制

2.下一层不能调用上一层

上一层可以调用下一层的功能,下一层不能调用上一层的功能,下一层是为上一层提供服务,而下一层不能使用上一层的服务

3.下一层不依赖上一层

上一层不管发生任何改变,不会对下一层产生任何影响

4.在上一层中不能出现下一层的概念

确保层次间的关系清晰

相关文章
|
13天前
|
JSON 监控 安全
探索微服务架构中的API网关模式
【9月更文挑战第22天】在微服务架构的海洋中,API网关如同一位智慧的守门人,不仅管理着服务的进出,还维护着整个系统的秩序。本文将带你一探究竟,看看这位守门人是如何工作的,以及它为何成为现代云原生应用不可或缺的一部分。从流量控制到安全防护,再到服务聚合,我们将一起解锁API网关的秘密。
|
2月前
|
分布式计算 负载均衡 API
微服务架构设计原则与模式
【8月更文第29天】随着云计算和分布式计算的发展,微服务架构已成为构建大型复杂应用的一种流行方式。这种架构模式将单个应用程序分解成一组小型、独立的服务,每个服务运行在其自己的进程中,并通过轻量级机制(通常是HTTP资源API)进行通信。本文将探讨微服务架构的基本设计原则、常用模式以及如何有效地划分服务边界。
152 3
|
2月前
|
弹性计算 Kubernetes Serverless
Kubernetes 的架构问题之Serverless Container中不支持特权模式的问题如何解决
Kubernetes 的架构问题之Serverless Container中不支持特权模式的问题如何解决
70 6
|
2月前
|
C# 微服务 Windows
模块化革命:揭秘WPF与微服务架构的完美融合——从单一职责原则到事件聚合器模式,构建高度解耦与可扩展的应用程序
【8月更文挑战第31天】本文探讨了如何在Windows Presentation Foundation(WPF)应用中借鉴微服务架构思想,实现模块化设计。通过将WPF应用分解为独立的功能模块,并利用事件聚合器实现模块间解耦通信,可以有效提升开发效率和系统可维护性。文中还提供了具体示例代码,展示了如何使用事件聚合器进行模块间通信,以及如何利用依赖注入进一步提高模块解耦程度。此方法不仅有助于简化复杂度,还能使应用更加灵活易扩展。
62 0
|
2月前
|
前端开发 开发者 C#
WPF开发者必读:MVVM模式实战,轻松实现现代桌面应用架构,让你的代码更上一层楼!
【8月更文挑战第31天】在WPF应用程序开发中,MVVM(Model-View-ViewModel)模式通过分离应用程序的逻辑和界面,提高了代码的可维护性和可扩展性。本文介绍了MVVM模式的三个核心组件:Model(数据模型)、View(用户界面)和ViewModel(处理数据绑定和逻辑),并通过示例代码展示了如何在WPF项目中实现MVVM模式。通过这种方式,开发者可以构建更加高效和可扩展的桌面应用程序。
59 0
|
2月前
|
设计模式 测试技术 数据处理
|
2月前
|
负载均衡 监控 JavaScript
探索微服务架构下的API网关模式
【8月更文挑战第31天】在微服务的大潮中,API网关不仅是流量的守门人,更是服务间通信的桥梁。本文将带你深入理解API网关的核心概念、设计要点及其在微服务架构中的重要作用,同时通过代码示例揭示如何利用API网关提升系统的灵活性与扩展性。
|
11天前
|
安全 应用服务中间件 API
微服务分布式系统架构之zookeeper与dubbo-2
微服务分布式系统架构之zookeeper与dubbo-2
|
11天前
|
负载均衡 Java 应用服务中间件
微服务分布式系统架构之zookeeper与dubbor-1
微服务分布式系统架构之zookeeper与dubbor-1
|
2月前
|
Kubernetes Cloud Native Docker
云原生之旅:从容器到微服务的架构演变
【8月更文挑战第29天】在数字化时代的浪潮下,云原生技术以其灵活性、可扩展性和弹性管理成为企业数字化转型的关键。本文将通过浅显易懂的语言和生动的比喻,带领读者了解云原生的基本概念,探索容器化技术的奥秘,并深入微服务架构的世界。我们将一起见证代码如何转化为现实中的服务,实现快速迭代和高效部署。无论你是初学者还是有经验的开发者,这篇文章都会为你打开一扇通往云原生世界的大门。
下一篇
无影云桌面