就像下面的目录结构一样, 同时存在多个 User 包, 那么其结果在使用的时候就很混乱,要仔细小心不要引用错了包。 各位老哥哥,有什么好的办法来解决这种情况呢?
Controller - User (目录) Service - User (目录) Model - User (目录)
1
chenxiankong 2023-02-11 19:17:22 +08:00
我们实践的时候是这样的.
controller - controller_user service - service_user model - model_user |
2
maotao456 OP @chenxiankong 这样不就感觉很别扭吗?
|
3
chevalier 2023-02-11 19:27:48 +08:00
|
4
realpg 2023-02-11 19:29:16 +08:00
UserController
UserService UserModel |
5
Huelse 2023-02-11 19:54:16 +08:00
不用想的太复杂,只需要思考顶层分类即可
|
6
FrankAdler 2023-02-11 20:14:30 +08:00 via iPhone
可以把代码都组织到对应的 struct 下面,比如
router 都 controller 用 userEntry.xxx 这样, control 到 service 用 userService.xxx 这样 util 用 stringUtil.xxx 这样 不会引用错,代码也可放同一个目录,提前定义一个 type xxEntry 然后 init 里面自己初始化成单例就行 |
7
GTim 2023-02-11 20:17:09 +08:00
@chevalier https://makeoptim.com/golang/clean-architecture 这文章里的第一张图片用的是什么主题? Visual Studio Code 的
|
8
Cola98 2023-02-11 21:06:37 +08:00
https://v2ex.com/t/865330#reply27 可以看下我之前发的帖子?
|
9
matrix1010 2023-02-11 21:11:02 +08:00 1
这类问题我都建议参考 Grafana( https://github.com/grafana/grafana/tree/main/pkg), 一般来说你的项目不可能比 Grafana 更复杂
|
10
liarsa 2023-02-12 15:33:16 +08:00
我自己现在的项目就两层
--- | - app |----xxx |---api |---cmd |--- ... | - lib lib 放通用,app 下面自己鼓捣,看心情 |