PHP开发迷思(二) –网站用MVC有用吗?
在MVC Framework大行其道的今天,还是有一些朋友认为MVC不是那么有用,一来架构太过复杂,二来速度也是个大问题。
他们大概是把MVC当做是一套软件来看了…
醒醒吧,不是Web Framework才叫MVC !
事实上, MVC其实是一种架构观念,只是大部份的Web Framework都用差不多的方式来实施而已。 也就是Controller负责处理Request与Response , Model负责处理Database ,而View就是Template 。 但MVC真的只是这样吗?
要真的了解MVC的观念,我推崇ericsk大师说的一句话: 只要有了API,表现层就可以无限宽广….
API其实就是Model所提供的,它让你可以一定的规范去存取资料,而不需要接触这些资料;专业来说, Model就是封装住资料,并提供外界存取这些资料的方法。 而表现层就是View ,它不仅仅限于HTML Template ,也可能是XML的一种(例如RSS等) ,或是某个Windows视窗介面。 那么Controller在哪里? Controller就是你的创意!
例如Google Map ,它提供了相当丰富的API供我们使用。 而画面呈现上,它也不限制我们一定要使用它上面的控制项,我们还是可以额外加入一些自订的介面。 最后你可以发挥自己的想像力,去创造一个受欢迎的应用。
就像Wamap 、 Gmaps Pedometer 等等服务,同样都是使用Google MAP提供的API来存取Google提供的地图资料;而且除了地图资讯本身长得差不多外,这些服务的介面呈现上也非常的不同。 而将它们整合起来的,就是开发者花心思写出来的JavaScript控制码。 这不是很有趣吗?
所以,了解MVC的观念远比熟悉它的实施来得重要。 也许我们看了太多Web Framework的程序代码,被它们绕来绕去的复杂MVC实施给吓到了,但千万别认为MVC就是长这个样子。
大多数的程序都有可能会用到MVC ,只是在程序架构的呈现上会有所不同。 只要能对MVC这个观念了然于胸,相信你就能在程序设计上找到不同的视野。
翻译自:http://www.jaceju.net/blog/?p=552

我赞你对MVC的看法