想搞 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 友们有什么指点或建议吗
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.