刚发现v2ex可以在首页发主题了,发个帖大家讨论讨论
首先MVC框架到后来都会出现有很大View文件或者Service文件之类,以及很长的url配置
然后就是纯php式的开发,一个接口一个文件,啥都不管,新人接手不用看太多之前的代码,不用管代码结构,就一直加新的文件来对应到新的接口就可以了,也不用配置url。反而新加功能效率更高,但是后期维护会很头疼。
不知道大家怎么看,或者说怎么避免MVC中文件过大的问题。(这应该是通用话题,因为做iOS开发的时候也是各种方法来避免Controller过冗余的问题)
很大的View文件(只是举个例子,实际业务很容易到千行):
https://github.com/getsentry/sentry/blob/d50386e7aa3c4deae63906e85da01a98364c3ef4/src/sentry/web/frontend/groups.py
1
datou552211 2014-12-25 11:05:12 +08:00
为了实现底层数据的持久化和频繁变更的业务逻辑,mvc是必须的。如果业务变得很大,可以把功能模块化,多mvc集合。开发上尽可能实现单一职责原则。
|
2
zhyu 2014-12-25 11:06:14 +08:00
很大的 view 文件,冗长的 url 配置,为啥要写到一个文件里。。
|
3
kisshere 2014-12-25 11:15:43 +08:00 via Android
我觉得大项目MVC 小项目VC
|
4
regmach 2014-12-25 11:30:10 +08:00
我倒是觉得m和c之间少了点什么..
|
5
jinzhe 2014-12-25 11:34:08 +08:00
MVC不是必须的,只是一种设计思想而已。没必要一定要这种方式。
|
6
williamx 2014-12-25 12:20:59 +08:00
这么说吧,就看你想把项目做到什么程度。
一个人的项目,只要你能把控,有一个统一的设计思想,不会过几天自己都看不懂,那么就无所谓了。多个人合作,周期又长,那么尽量用大家都能理解的东西来做。 |
7
darmody 2014-12-25 12:22:38 +08:00
你们的业务不分模块的吗?
|
8
felixzhu OP @darmody 肯定是分了,但是来新人的时候就需要重新学习模块划分,看之前的接口设计,还有各层的接口。就算分了不断的人来维护,最后也会变得很大
我们领导就说PHP那样一个文件一个接口,更适合快速地开发,所有有点晕 |
10
jianghu52 2014-12-25 12:45:56 +08:00
mvc在我看来最大的好处在于,分离了前端与后端。
设计师眼里的1像素在后端的我看来,完全看不出。你要让我去调前端页面,那真是逼死我了 |
11
yakczh 2014-12-25 12:48:11 +08:00
业务方法的类还是分模块比较好, 不过分模块以后,必须要带上命名空间,不然autoload不好写
|
13
xiaogui 2014-12-25 17:36:11 +08:00
mvc 与 分模块、分层并不冲突。
|
14
jc4myself 2014-12-25 17:49:32 +08:00
就这么垂直地分功能,不会有问题么?
|
15
sampeng 2014-12-26 17:00:33 +08:00
维护困难就一条,c层不要写成一个god。。。
一般情况都是这样导致的维护困难。。。 |