想搞 DDD ,但自觉无能,就借鉴了一下 DDD 的分层思想,搞出了如下的结构
├── adaptor
│ ├── mq
│ ├── rpc
│ ├── task // 定时任务
│ └── web
├── config
├── handler
│ └── user.go
├── infrastructure
│ ├── cache
│ │ └── user.go
│ ├── message
│ ├── mp
│ ├── remote
│ └── repository
│ └── user.go
├── main.go
├── manager
│ └── user.go
├── model
│ ├── bo
│ ├── dto
│ ├── po
│ └── vo
└── service
├── event // 事件总线(事件模型)
└── user.go
但还是感觉不是很对?
比如 service 下,如果 user.go 、post.go 等不同模块的都放在一个 service 包下,那这个 service 包的内聚性堪忧;如果 service 下各建子包,那命名上感觉又有点奇怪(比如路径是 service/user ,但是 package 如果是 user 就可能和 handler 、repository 等包下面的 user 重复了,如果是 userservice 又感觉看着好怪?)
想问问万能的 V 友们有什么指点或建议吗
