架构设计的分层架构

简介: 架构设计的分层架构

我们在架构设计中,经常会听到分层架构,那么到底什么是分层架构呢?

首先我们得理解层的概念,层就是软件的逻辑单元每一层解决一个特定的问。比如HTTP的7层架构。还有我们经常听说的spring mvc架构。这其中都是分层的概念。还有我们在开发过程中接触的controller service do 我说的这些都是分层架构中的某一层。或许说到这里,你对层的概念会有一丝深刻的理解。计算机领域有一个不成文的规定。就是解决不了的问题就会加一层。就像jvm虚拟机加了一层虚拟层,就解决了硬件层面的不同。所以分层架构在我们的架构设计中有着很重要的地位。良好的运用分层架构可以使得架构很清晰。而且代码也可以良好的扩展。

我们的系统架构一般都是按照职责划分和组织。划分完职责之后,可以按照分层架构去设计和实现。那么分层架构在架构设计中有哪些优点和缺点呢?


优点如下,由于每一层只解决一个问题,所以整个架构具有良好的高内聚,低耦合,并且在每一层有良好的扩展性。它的可维护性和可测试性也很高,因为你可以只针对每一层进行维护和测试,不用担心其他层。层与层之间通过接口进行交互。因为依赖接口相当于依赖抽象而不依赖实现,所以整体的改动量是很小的。

我们说完了优点,我们再来说一下缺点。分层架构一个明显的缺点就是随着层数的增加,会增加通讯时长。使得整体架构的性能不是特别高。

我们说了什么是分层架构,并且阐述了架构的优缺点那么我们如何实现一个分层架构呢?

一般我们在做系统设计的时候,都是有

从web controller entity ,从外到内,越往里走越抽象。系统的内部往往是一些规则的体现。所以每一层只需要关注自己的事情就行。就像web层只关注用户的交互,controller层只关注请求的转发。底层是一些实现。

好了今天的分享就到这里。明天我会继续分享架构方面的知识。明天我将给大家分享的是事件驱动架构。大家尽情期待吧!

相关文章
|
2月前
|
负载均衡 关系型数据库 应用服务中间件
高可用系列文章之二 - 传统分层架构技术方案
高可用系列文章之二 - 传统分层架构技术方案
|
3月前
|
设计模式 Java 应用服务中间件
Tomcat 架构原理解析到架构设计借鉴
Tomcat 架构原理解析到架构设计借鉴
106 0
|
1月前
|
存储 消息中间件 算法
深度思考:架构师必须掌握的五大类架构设计风格
数据流风格注重数据在组件间的流动,适合处理大量数据。调用返回风格则强调函数或方法的调用与返回,过程清晰明了。独立构件风格让每个构件独立运作,通过接口交互,提升灵活性和可重用性。虚拟机风格则模拟完整系统,实现资源的高效利用。
深度思考:架构师必须掌握的五大类架构设计风格
|
1月前
|
分布式计算 API 数据处理
Flink【基础知识 01】(简介+核心架构+分层API+集群架构+应用场景+特点优势)(一篇即可大概了解flink)
【2月更文挑战第15天】Flink【基础知识 01】(简介+核心架构+分层API+集群架构+应用场景+特点优势)(一篇即可大概了解flink)
60 1
|
2月前
|
存储 自然语言处理 前端开发
软考实践之分层架构思想的理论和应用实践
软考实践之分层架构思想的理论和应用实践
222 0
|
2月前
|
消息中间件 前端开发 测试技术
DDD - 分层架构:有效降低层与层之间的依赖
DDD - 分层架构:有效降低层与层之间的依赖
|
3月前
|
XML Dubbo Java
【面试问题】Dubbo 的整体架构设计有哪些分层?
【1月更文挑战第27天】【面试问题】Dubbo 的整体架构设计有哪些分层?
|
3月前
|
存储 分布式计算 数据挖掘
数仓分层架构
数仓分层架构
76 0
|
7天前
|
敏捷开发 监控 数据管理
构建高效微服务架构的五大关键策略
【4月更文挑战第20天】在当今软件开发领域,微服务架构已经成为一种流行的设计模式,它允许开发团队以灵活、可扩展的方式构建应用程序。本文将探讨构建高效微服务架构的五大关键策略,包括服务划分、通信机制、数据管理、安全性考虑以及监控与日志。这些策略对于确保系统的可靠性、可维护性和性能至关重要。
|
7天前
|
消息中间件 监控 持续交付
构建高效微服务架构:后端开发的进阶之路
【4月更文挑战第20天】 随着现代软件开发的复杂性日益增加,传统的单体应用已难以满足快速迭代和灵活部署的需求。微服务架构作为一种新兴的分布式系统设计方式,以其独立部署、易于扩展和维护的特点,成为解决这一问题的关键。本文将深入探讨微服务的核心概念、设计原则以及在后端开发实践中如何构建一个高效的微服务架构。我们将从服务划分、通信机制、数据一致性、服务发现与注册等方面入手,提供一系列实用的策略和建议,帮助开发者优化后端系统的性能和可维护性。