- 28
- 0
- 约2.93千字
- 约 4页
- 2021-06-06 发布于湖南
- 举报
浅谈 Java 六边形架构
编译:ImportNew/唐尤华
/articles/demonstration-of-hexagonal-architecture-in-java
六边形架构首先是一种设计模式,设计的初衷是解决实际问题。当应用程序与 UI、测试环境、数据库、外部 API 等依赖项进行交互时,通常会遇到一些问题。六边形架构的作用就是解耦,把核心逻辑与不需要的依赖进行隔离。
1. 什么是六边形架构
Alistair Cockburn 博士最早提出了六边形架构这个概念。他把应用程序设想为一个六边形的封闭主体,任何与核心逻辑相关的部分都位于六边形中,其余都分散在外面。通过这种方式,测试核心逻辑变得很容易,不用担心过多的外部因素。
2. 如何实现六边形架构
六边形的内外部分通过所谓的“端口(Port)和适配器(Adapter)”进行双向交互。在应用程序中,interface 作为端口。接口的实现作为适配器,通过适配器在端口之间建立通信。
3. 示例
下面举一个杂货店例子,核心业务逻辑在 `GroceryStoreService` 中。有一个用户正在使用杂货店服务,需要以下基本功能:
添加商品到购物车
删除指定商品
查看购物车中已添加的商品
Controller 层充当适配器,通过端口(interface)适配器与应用内部通信。
```java/** * Controller
您可能关注的文档
- 高等数学和数学分析教材推荐及学习方法浅谈.docx
- 美国特种部队实战演习 背包式信号情报系统曝光 浅析功能和发展.docx
- 浅谈 物流工程就业!.docx
- 浅谈 Kubernetes 中的服务发现.docx
- 浅谈“十四五”战略下国内民航飞机附件维修发展.docx
- 浅谈“违约债估值”.docx
- 浅谈“债券估值”.docx
- 浅谈2021年投资策略(附名单).docx
- 浅谈包容与纵容.docx
- 浅谈贝叶斯统计.docx
- 2025-2026学年湖北省武汉市江汉区九年级(上)期中数学试卷.pdf
- 2025-2026学年湖北省武汉市江汉区五校联考九年级(上)期中数学试卷.pdf
- 26年襄阳五校联考第一次联考英语试题及答案.pdf
- 2026-2027武汉东西湖区九上10月考英语试卷(含答案).pdf
- 2026辽宁省面向北京大学选调全日制应届优秀大学毕业生押题题库.docx
- 2026辽宁省面向北京科技大学选调应届优秀大学毕业生押题模拟卷.docx
- 2026辽宁省党政机关选调应届优秀大学毕业生押题题库.docx
- 2026辽宁省定向选调生押题题库.docx
- 2026陕西省面向中国政法大学招录选调生押题模拟卷.docx
- 2026陕西省面向重庆大学招录选调生押题模拟卷.docx
最近下载
- 机器学习基础及应用全套课件.pptx
- 11.2014年福建省职业院校技能大赛(中职组)财经竞赛规程.doc VIP
- NB∕T 11418-2023 水工钢闸门和启闭机安全检测技术规程.pdf
- 在线网课学习课堂《中国少数民族神话赏析(中央民族大学)》单元测试考核答案.docx
- IATF16949审核员指南(第五版)1.pdf VIP
- 3.2《设计理想校门》核心素养教学设计 2026秋新湘美版美术六年级上册.docx
- 电力系统继电保护课程设计-三段式距离保护.pdf VIP
- 教学能力比赛:国际金融学教学创新成果报告.pdf
- 工业智能体发展报告 2026.pdf VIP
- JD-67607《电机学》-刘慧娟(习题解答)王雅新[59页].pdf VIP
原创力文档

文档评论(0)