请教各位在正式项目中关于代码和视图合理复用的问题

2017-05-27 10:42:45 +08:00
 mokeyjay

接手我司一个项目,PHP 开发,有三个后台,分别是:

有些功能三个后台都有、有些则是某一、两个后台独占
往往这些功能在各个后台基本相同,只是部分细节、前端展示的数据不同
(例如我司后台发布文章时可选择发布到哪个企业下,而企业自己发布时只能发布在自己名下、禁止且隐藏企业选择框)

而有些功能呢,看似在各个平台一样,但逻辑流程却不同

这项目的前一位主程用的是复制粘贴解决,改一个需求可能要改 3 处地方,大毛病没有、小毛病不断。非常繁琐,我觉得应该合理复用
虽是这么说,但我对于如何复用这里面的代码、视图也没有很好的办法,目前也只是把新建、编辑页面合并这类的小优化
因此来请教一下大家有没有遇到过类似的问题?你们是如何解决的?

2212 次点击
所在节点    程序员
6 条回复
alen
2017-05-27 11:13:54 +08:00
功能封装,继承重写
isCyan
2017-05-27 11:49:20 +08:00
关注,也遇到类似疑惑
zaxlct
2017-05-27 13:01:17 +08:00
用一些前端框架,比如 vue,react 组件化一下?
ibufu
2017-05-27 13:07:15 +08:00
小业务组件化。
再将小业务封装成流程组件。
jybox
2017-05-27 13:21:15 +08:00
后端部分大部分代码移到 Model 或单独的 Service 层,然后 Controller 层( Web 框架的路由、中间件)只是调用 Model 和 View 和鉴权,三个部分有各自的 Controller 来进行不同的权限控制,其他部分全部复用。
nicevar
2017-05-27 19:12:10 +08:00
这种问题与需求相关,无论是做服务端还是客户端开发都能遇到,能抽象出来模块化当然好,但是如果下层的需求又需要各种定制,有时候复用本来做得很好,经过不断的需求填充,改得也不像样子

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/364167

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX