金桔
金币
威望
贡献
回帖0
精华
在线时间 小时
|
It depends。看团队规模,看项目复杂度,看复杂度集中在哪边。
如果是1-3人团队,项目复杂度不高搭积木,积木已经写好有所积累,那么前后端融合开发效率最高,竖切。
团队再大,积木层分离框架层分离,业务层依然竖切,前后端融合;
再大,继续专业分工横切加业务竖切,根据实际情况排列组合。
大到一定程度,不光前后端分离了,每个层都分离了。业务层依然多个人,按模块竖切。
软工实践只有更适合团队,没有绝对优势。不分情况的前后端分离,就是懒加踢皮球。
大到一定程度,踢皮球是注定出现的。
举个简单例子。
页面A需求两组不太相关又有点相关的数据(a,b,定语是说,从代码结构角度,放在一个接口和两个接口是都可行的,是模糊的,不存在语意上的明显优劣),数据a在另一个页面B也提供了单独接口获取,但如果拿 a 数据在页面 A 需要进行重新组织。
这样,接口定义可以有两个方式:
- 接口 I 提供a 数据,接口 II 提供 b 数据,前端发起两个请求,并对 a 做额外整理后使用;
- 接口 I 提供整理后的a,和b 数据,前端直接获取后可以直接影射到界面逻辑。
两种方式,前后端分离团队一定扯皮,都想对方做复杂的,自己简单化。就算嘴上不吵,心理也都有数的。一般是后端定接口,后端但凡老油条一点,一定把皮球踢给前端。前端但凡老油条一点,一定会去吵。
要么,根本是 俩 团队,而不是一个团队的两个组,那么也简单。吵不到一起去,我给啥你吃啥。
要么,团队之间关系很好,大家乐意为了共同目标考虑最佳实现(开发周期,各自进度,处理难度)。
要么,不分层,竖切,同上。
要么,引入接口编写人,独立于前后端团队的系统工程师,他写接口文档,前后端都照着做,我说是啥就是啥。
以上场景,我不信前后端分离团队没遇见过。 |
|