Java学习第八十八部分——“层”

目录

一、前言提要

二、统筹概述

三、软件系统架构层级基本介绍​

四、软件系统架构层级别名介绍 


一、前言提要

      在学习Java的过程中,经常会遇到很多带“层”的名词,本文就各种各样的“层”来介绍,或者说,不止Java,其它语言的学习也会涉及这些层。

二、统筹概述

  • 三层架构(表现/业务/数据)是“纵向”按功能切片;

  • 网络层、框架层、中间层是“横向”技术栈,像积木一样插到三层里;

  • 运行时层是你代码最终落地的“地基”。

  • 打油诗速记:网络先把路铺好,框架再把活代劳;表现接客业务炒,数据存取 DAO 抄;运行托管 JVM 包。

  • 总体过程网络铺路 → 框架代工 → 三层做菜 → 中间调味 → 运行上桌。

  • 除此以外还有以下层:

  • DTO层:数据传输对象,用于在层与层之间传递数据(如UserDTO)。

  • Entity层:数据库表的Java映射类(如@EntityUser类)。

  • Utils层:工具类(如日期格式化、加密)。

  • 安全层(Security Layer):负责应用程序的安全,如认证、授权、加密等。

三、软件系统架构层级基本介绍​

层级名称核心职责概述关键职责细节主要技术/组件示例通俗功能说明
​网络层 (Network Layer)​确保数据在节点间可靠传输,处理寻址与路由- 定义数据包格式与传输协议
- 逻辑寻址(IP)与物理寻址(MAC)
- 路由选择与数据包转发
- 流量控制与拥塞管理
- 错误检测与恢复
TCP/IP、UDP、ICMP、ARP、BGP、OSPF、路由器、交换机​数据邮差​​:负责将数据包从源头准确投递到目的地,规划最佳路径并处理传输中的异常。
​框架层 (Framework Layer)​提供可复用基础结构,简化应用开发- 定义应用骨架与生命周期管理
- 提供通用服务(IoC/DI、AOP)
- 集成工具库与第三方组件
- 强制执行架构规范
- 处理横切关注点(日志、安全)
Spring Boot、Django、.NET Core、Express.js、Qt、TensorFlow​软件脚手架​​:为开发者预设标准化构建模块,像搭积木一样快速组装应用,避免重复造轮子。
​表现层 / API层​处理用户/系统交互,适配输入输出格式- 接收并解析请求(HTTP/RPC/MQ)
- 数据验证与清洗
- 调用业务层逻辑
- 组织响应(HTML/JSON/XML)
- 渲染用户界面(Web/移动端)
RESTful API、GraphQL、gRPC、MVC框架(Controller)、React/Vue、Swagger​系统接待员​​:接收外部指令,转交内部处理,并将结果整理成用户或系统可理解的格式返回。
​业务层 / 领域层​实现核心业务规则与流程- 执行业务规则校验(如风控)
- 编排业务流程(下单、支付)
- 计算业务数据(价格、统计)
- 封装领域模型状态变更
DDD领域模型、Service服务、规则引擎(Drools)、工作流引擎(Activiti)​业务指挥官​​:掌管系统的核心逻辑,像业务专家一样决策“该做什么”和“如何正确执行”。
​数据层​管理数据持久化,抽象存储细节- 数据增删改查(CRUD)
- 数据库连接池管理
- 事务控制(ACID)
- ORM映射
- 执行复杂查询与缓存策略
JDBC、Hibernate、MyBatis、MongoDB、Redis、SQL/NoSQL数据库​数据仓库管理员​​:安全存储和高效检索数据,让业务层无需关心数据存在“数据库还是文件柜”。
​中间层 / 集成层​解耦系统组件,增强跨服务通信与非功能性需求- 跨服务通信(RPC/消息队列)
- 服务注册发现与负载均衡
- 异步处理与流量削峰
- API网关路由与认证
- 分布式事务协调
Kafka、RabbitMQ、gRPC、Redis、API网关(Kong)、服务网格(Istio)​系统协调员​​:连接多个服务或组件,像调度中心处理消息转发、流量管控和故障隔离。
​运行时层​提供程序执行环境,管理底层资源- 加载/编译字节码或指令
- 内存分配与垃圾回收(GC)
- 线程/协程调度
- 提供核心库(如网络IO)
- 操作系统交互
JVM(Java)、CLR(.NET)、Node.js(V8)、Go Runtime、WebAssembly​程序执行引擎​​:充当应用的“操作系统”,管理内存、CPU等资源,让代码高效安全运行。

四、软件系统架构层级别名介绍 

  • ​分层别名对照表​

​标准层级名称​​常见别名(按使用频率排序)​
​网络层​传输层、通信层、网络传输层、L3/L4层(OSI)、网络协议层、基础设施层
​框架层​基础架构层、平台层、支撑层、工具层、开发骨架层、运行时库层、引擎层(如游戏引擎)
​表现层 / API层​接入层、接口层、门面层、端点层、用户界面层(UI层)、BFF层(Backend For Frontend)、适配器层
​业务层 / 领域层​服务层、逻辑层、核心层、应用层、用例层、规则层、处理器层、领域模型层(DDD)、事务层
​数据层​持久层、存储层、数据访问层(DAO层)、仓库层(Repository层)、数据库层、ORM层
​中间层 / 集成层​服务总线层、通信层、消息层、代理层、网关层、企业服务层(ESB层)、解耦层、分布式基础设施层
​运行时层​执行引擎层、虚拟机层(VM层)、平台运行时、核心运行时、字节码执行层、环境抽象层
  • 别名使用场景说明​

​1.网络层​​​

传输层/通信层:强调数据传输能力(如TCP/IP协议栈文档)

基础设施层:云原生架构中描述底层网络资源(AWS/Azure文档)

2.​​框架层​​​

引擎层:游戏开发中特指Unity/Unreal等渲染与物理引擎

支撑层:嵌入式系统开发文档常用

​3.表现层 / API层​​​

BFF层:微服务架构中专为前端定制聚合接口的中间层

适配器层:六边形架构中转换外部协议的适配器

4.​​业务层 / 领域层​​​

应用层 vs 业务层

企业Java体系(J2EE)中应用层常包含服务编排

DDD理论严格区分应用层(流程)与领域层(规则)

服务层:Spring框架中@Service注解的组件层

5.​​数据层​​​

DAO层(Data Access Object):直接封装数据库操作

Repository层:DDD中面向聚合根的数据接口

​6.中间层 / 集成层​​​

服务总线层:金融系统ESB(企业服务总线)解决方案

代理层:API网关在零信任架构中的角色

​7.​运行时层​​​

虚拟机层:特指JVM/CLR等托管执行环境

环境抽象层:容器化场景(如Docker对OS内核的抽象)

微服务设计推荐​​表现层→业务层→数据层→集成层​​的四层模型​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值