- 论坛徽章:
- 0
|
原帖由 geel 于 2006-9-17 09:47 发表
现在的框架动辄mvc,可是实在不知道在实际应用中,究竟带来了什么好处?
就目前我的经验来看,MVC好处在于"分离"带来的好处.
以前html比较简单,现在搞复杂了:html+css显然比html复杂.
但html+css相比以前"html的结构与显示混合",能够带来更大的"灵活性".
html只负责结构,css只负责显示,当html与css"最后合并"在一起后,两者彼此联系又互相分离:好处多多.
例如不修改html,只修改css,就对外观改变了.而要是以前的html的话,结构和显示完全耦合,那就不好修改了.
MVC同样带来复杂性,这个是代价;但MVC也带来了"灵活性":M可以不被修改的情况下,直接扩展C来增加一些额外的功能.例如cache,权限认证等.同时也可以看出,这里的M是比较"纯粹"的,没有"多余的不相关的代码,例如cache".----你觉得"产品模块中使用cache是很自然的事情吗,产品模块中使用权限如何,产品模块里加入了其他不相干的代码,只会让人难于理解".而cache等额外的功能可以"挂"到C上.通过在C上面附加额外的功能,而不需要修改M.当然,V的好处就不说了.改变V理论上不需要改变MC.
总之,分离带来灵活,但成本是增加了复杂性:想象一下直接使用HTML是多么的简单,为什么要分离出控制外观的css文件?原来只需要一个html文件,现在搞出了2个文件---一个html文件,一个css文件,麻不麻烦?麻烦!
同样的,MVC把一个程序文件搞成了"三个文件"!靠,麻不麻烦?麻烦!但既然HTML+css这样的结构有好处,那么我们也可以想象到MVC也有类似的益处.
[ 本帖最后由 axgle 于 2006-9-17 10:37 编辑 ] |
|