架构整洁之道笔记
最早的《The Clean Architecture》诞生于 2012年,这个问题很早就被讨论清楚了。
思维导图:
注意,所有的接口都是在高层声明的:UseCase Input Port 和 UseCase Output port,所以高层可以实现高层的接口,低层也可以实现高层的接口。
注意,sofa的分层就是在一个横向的模块里声明了业务用例的接口和 core-model 的接口,这样源代码级的依赖都集中在抽象上:
Use Case Interactor 和 Presenter 应该是可测试的,而 Data Access Interface、View、ORM 应该是 humble object。所以一个应用的低层(外层)应该是被排除掉不做测试的。
附件下载:
关于源代码中的依赖关系的一些澄清:
“使用”并不意味着“定义”,而只是引用
dashed outline 代表虚线框,也代表抽象。
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.