序
本文次要钻研一下Ports and Adapters architecture
Ports and Adapters architecture
Ports and Adapters architecture,又叫Hexagonal architecture,其中ports层是六边形的边界,其中port又能够分为driver port及driven port,简略了解对应输出层及输入层;边界爱护的是外部的app,其中app包含use cases或者叫做application services层以及domain层;adapter能够了解为将内部依赖进行适配,实现port层定义的接口
示例构造
github.com/albertllousas/implementing-hexagonal-architecture
├── app
│ ├── domain
│ │ ├── Account.kt
│ │ ├── Ids.kt
│ │ ├── Transaction.kt
│ │ └── Transfer.kt
│ ├── port
│ │ ├── driven
│ │ │ ├── AccountBalanceChecker.kt
│ │ │ ├── AccountFinder.kt
│ │ │ └── Transactor.kt
│ │ └── driver
│ │ └── TransferMoney.kt
│ └── usecase
│ └── TransferMoneyUseCase.kt
└── infrastructure
├── adapter
│ ├── driven
│ │ ├── InMemoryAccounts.kt
│ │ └── InMemoryTransactions.kt
│ └── driver
│ └── ktor
│ └── TransferHttpRoutes.kt
└── config
├── ApplicationModule.kt
└── ApplicationRunner.kt
port层这里定义了driven及driver两大类的接口,而后adapter层对应driven及driver这两大类应用内部的服务进行实现;domain层定义了domain model以及相干畛域办法;usecase或者是application service层则是编排
小结
Ports and Adapters architecture,又叫Hexagonal architecture,其中ports层是六边形的边界,其中port又能够分为driver port及driven port,简略了解对应输出层及输入层;边界爱护的是外部的app,其中app包含use cases或者叫做application services层以及domain层;adapter能够了解为将内部依赖进行适配,实现port层定义的接口。
doc
- implementing-hexagonal-architecture
发表回复