洋葱架构从六边形架构发展而来,在中间的核心业务逻辑里又引入了分层 。对于洋葱架构来说,应用构建在领域模型上,里层定义接口,外层实现接口,只能外层调用里层,里层不能调用外层,并且里层感知不到外层的存在 。
文章插图
【洋葱架构Onion Architecture】
Domain Model:业务模型,对应DDD中的Entity、值对象等
Domain Service:核心业务逻辑
Application Service:应用的输入输出层
User Interface/Tests/Application:适配器层
优点:
- 各层职责清晰,提高了大型复杂项目的可维护性 。
- 结合DDD,使项目以领域模型为主 。
- 没有外部依赖,方便进行单元测试 。
缺点:
- 如果只是简单的CRUD应用使用六边形架构会加大复杂性,拖慢项目进度
- 业务比较简单的话也会加大复杂性
- 引入了DDD的思想,对技术人员的要求较高
推荐阅读
- 年轻人痴迷的互联网有多挣钱?架构师稳坐高薪榜首
- 艾蒿茶的功效与作用,洋葱的养生功效与作用
- 煸炒茶树菇西芹的做法,洋葱茶树菇的做法
- 为什么CTO、技术总监、架构师都不写代码,还这么牛逼?
- 基于SpringBoot的微服务架构与K8S容器部署实践
- 一通百通,一文实现灵活的 K8S 基础架构
- 微服务架构下该如何技术选型呢?
- 六和茶的功效与作用,洋葱的养生功效与作用
- 分布式系统架构
- 草丛茶的功效与作用,洋葱的养生功效与作用