前言:六边形架构又称“端口适配器架构”,实际上也是一种分层架构,只不过由上下或者左右变成了内部与外部。其核心理念就是应用通过端口与外部进行交互的。核心的业务逻辑(领域模型)与外部资源(数据库等资源)完全隔离,仅通过适配器进行交互,解决了业务逻辑与用户数据交错的问题,很好的实现了前后端分离。
困惑:
- 在分层架构中是否困惑过某些逻辑处理或某些数据处理该放在哪一层?
- 在分层架构中是否困惑过该分多少层?
- 在分层架构中是否困惑过平层和跨层调用是否合理?
六边形架构
Alistair CockburnHTTPMQRedisDBginirisechohttp
Alistair CockburnApplication和DomainApplication
repository
domainaggregateentitydtopo*.go
adaptercontrollerrepositoryserverconfmain.go
infra*go
domain 领域模型目录
serviceaggregateentitydtopo
adapter 适配器目录
controllerhttpapirepository
adaptercontrollerrepositorydomaindomainrepositorypo
代码示例
目录
- golang领域模型-CQRS
PS:关注公众号《从菜鸟到大佬》,发送消息“加群”或“领域模型”,加入DDD交流群,一起切磋DDD与代码的艺术!