洋葱架构Onion Architecture

洋葱架构从六边形架构发展而来,在中间的核心业务逻辑里又引入了分层 。对于洋葱架构来说,应用构建在领域模型上,里层定义接口,外层实现接口,只能外层调用里层,里层不能调用外层,并且里层感知不到外层的存在 。

洋葱架构Onion Architecture

文章插图
【洋葱架构Onion Architecture】 
Domain Model:业务模型,对应DDD中的Entity、值对象等
Domain Service:核心业务逻辑
Application Service:应用的输入输出层
User Interface/Tests/Application:适配器层
 
优点:
  • 各层职责清晰,提高了大型复杂项目的可维护性 。
  • 结合DDD,使项目以领域模型为主 。
  • 没有外部依赖,方便进行单元测试 。
 
缺点:
  • 如果只是简单的CRUD应用使用六边形架构会加大复杂性,拖慢项目进度
  • 业务比较简单的话也会加大复杂性
  • 引入了DDD的思想,对技术人员的要求较高




    推荐阅读