洋葱数字化(洋葱架构OnionArchitecture)
洋葱数字化(洋葱架构OnionArchitecture)User Interface/Tests/Application:适配器层优点:缺点:
洋葱架构从六边形架构发展而来,在中间的核心业务逻辑里又引入了分层。对于洋葱架构来说,应用构建在领域模型上,里层定义接口,外层实现接口,只能外层调用里层,里层不能调用外层,并且里层感知不到外层的存在。
Domain Model:业务模型,对应DDD中的Entity、值对象等
Domain Service:核心业务逻辑
Application Service:应用的输入输出层
User Interface/Tests/Application:适配器层
优点:
- 各层职责清晰,提高了大型复杂项目的可维护性。
- 结合DDD,使项目以领域模型为主。
- 没有外部依赖,方便进行单元测试。
缺点:
- 如果只是简单的CRUD应用使用六边形架构会加大复杂性,拖慢项目进度
- 业务比较简单的话也会加大复杂性
- 引入了DDD的思想,对技术人员的要求较高