为什么非要在 service 里面写业务再去 controller 里面调用,我直接写 cntroller 里面不好吗?还不用跳来跳去去看实现。
1
cheng6563 2023-08-01 16:55:18 +08:00
因为代码复用
|
2
renfei 2023-08-01 16:57:55 +08:00
看来你还没挨过打啊,改个逻辑,一搜,复制粘贴的满世界全都是,根本不敢动
|
3
god7d 2023-08-01 17:00:36 +08:00 via iPhone
没问题,等你需要的时候再重构即可
|
4
sujin190 2023-08-01 17:15:15 +08:00
调用链最短化和代码复用最大化考虑实际情况取最优就可以,不要太纠结,有时一开始就想各种复用就是瞎搞,然后一层调一层各种子包子项目的,其实也是乱的一塌糊涂,最后一看毛复用的情况都没出现,纯属一开始瞎想
如果是微服务体系下,单项目应该尽量单一职责,服务规划合理的情况下,项目内本来就应该缩短调用链,再一层调一层其实很多余才是更坑死 |
5
me1onsoda 2023-08-01 17:16:58 +08:00
可以,尊重他人命运
|
6
jack4536251 OP @cheng6563 基本没啥服用的地方吧,能复用的基本都是公共方法,我公共方法都放在 utils 里面
|
7
jeffw 2023-08-01 17:22:35 +08:00
可以,完全没问题,我就是这样写,如果有多个地方用到同样的逻辑,就再单独抽离出来也不迟。没必要一开始就把所有逻辑放到 service 里,跳来跳去的麻烦。代码是死的,人是活的,不要太教条。
|
8
silencil 2023-08-01 17:23:57 +08:00
我也确实没遇到那么多复用的,少部分代码能进行复用,平常就是为了多一层而多
|
9
dyxLike 2023-08-01 17:24:03 +08:00
如果是团队代码就按规范来, 自己的项目就随意了, 以后真遇到痛点再改也不迟
|
10
nekolr 2023-08-01 17:27:40 +08:00
如果一开始可以不是很费力的做好,为什么要留到以后回来重构呢?
|
11
justplaymore 2023-08-01 17:44:40 +08:00
你可以选择不分层,但你最好要知道什么时候需要分层,分层是为了解决什么问题,要有重构思路。
|
12
nodododo 2023-08-01 18:09:47 +08:00
如果你的接口同时被 pc 安卓 ios 小程序和后台调用,肯定不能公用控制层的,必须要拆开也方便排查问题
|
13
xinshoushanglu 2023-08-01 20:26:25 +08:00
看具体情况,如果你这个接口一开始就确定了 不会改,一次性的东西,写在哪里都行。但要是其他地方有饮用,将来还要扩展 修改 啥的,这个一次性的 controller 就必须改了
|
14
jack4536251 OP @xinshoushanglu 是的,先写 controller ,后面需要共用的再抽出来
|
15
SunnyIng 2023-08-02 09:33:08 +08:00
直接在 controller 层写,会显得很乱,后期维护也不好维护,代码也无法复用,我看到这种代码我就骂一次。。。。
|
16
cchrisweiii 2023-08-02 09:39:10 +08:00
建议转行 C 语言,一个.C 写全部,芜湖,起飞!
|
17
paceewang1 2023-08-02 14:33:47 +08:00
你是没见过一个接口 1000 行的代码,当然了,这只是后面阅读还有修改的人痛苦
|