各位在使用mvc的时候会不会把controller拆成单个程序集,对应的model也拆成对应的程序集

2019-01-11 13:45发布

问题:

各位在使用mvc的时候会不会把controller拆成单个程序集,对应的model也拆成对应的程序集呢?

 

这样拆开的唯一好处就是程序集按需加载比较快吧!但是程序集过多又有什么副作用呢,

 

想听听各位大侠的看法。。

回答1:

不太理解你的意思啊。
在一个UI里往往要用到很多model的,所以我都是在UI层又增加了很多ViewModel,大点的项目中,这些ViewModel在service层用基础Model组装一下(简单项目我就直接在controller里组装)。通过反射直接用service,所以controller中每个方法只有很少的代码。
你说的是不是这个意思?可以探讨一下。



回答2:

一般没怎么拆分。至少我经历过的项目,都没拆分。



回答3:

建议拆分。



回答4:

我也还在摸索,负责的两个项目 用两种方式,一个拆到不同程序集,一个拆开到Areas。

拆程序集:

拆开的话发现有很多问题,先不说编译速度更慢了,重点在于解耦 各模块关联程度比较高(比较复杂的业务系统)拆开后只能把公共的全部单独分离。依赖关系复杂化了。

拆Areas:

因为 controller 存在的目的很明确就只接收请求,再调业务代码跑具体业务。

因为都在Web项目内了 只需要引用业务层,然后通过MEF来实现IOC 耦合度降低了 编译速度也快了很多。

唯一缺点就是团队分工不好划分权限了,因为负责模块的人只有具体模块的代码,项目文件经常容易冲突。



回答5:

楼主你好,我现在也在研究把model层独立项目的问题,期间遇到很多麻烦啊,model在view中赋值后提交给controller后不能用model的类整体接收了,请问这是怎么回事啊?