Web 技术研究所

我一直坚信着,Web 将会成为未来应用程序的主流

后端脚本语言就是天然的MVC框架

  首先我要痛批一顿这货!MVC被提出本身是很好的一件事,但是现在网络上对MVC的宣传有点过头了。它已经变成了装B利器,一提到网站开发就问懂不懂MVC。因为MVC没有明确的定义,所以现在的培训机构教的所谓MVC,基本都只是某个MVC框架而已。这股MVC风就像当年的OOP风一样席卷IT界,成为了培训机构圈钱的工具。各种专业人士都听不懂的专业术语说了一大堆,初学者抱着“不明觉厉”的心态学着完全不着边际的知识,学完后发现除了框架什么都不会。
  如果你是学Java或.NET的,搞MVC框架那无可厚非。因为这些语言本身就是OOP的,而OOP本身就是一种类似框架的东西。这些语言本身,就非常适合做MVC框架的开发。但是你如果是学PHP或其它脚本语言的话就没有必要搞MVC框架的开发,因为脚本语言不适合做这个。解释型语言和编译型语言都有自己的优缺点,解释型语言非常灵活,你可以在任何地方放置任何代码。编译型语言执行效率高,因为代码执行前被编译成了计算机最容易识别的二进制了。MVC框架本身是一个效率要求很高的程序,所以编译型语言适合用MVC。而解释类语言非常灵活,完全不需要MVC框架,自己也能构造出一个MVC环境出来。所以我不建议在脚本语言上使用MVC框架。
  现在我在PHP上构建一个最简单的MVC环境。看下面图片


  这是根目录的文件


  这个是C层面与M层面的代码


  这个是V层面的代码


  最后是运行结果

  这就是我构造的最简单的MVC环境,也许你会觉得在V层面放置PHP代码有违背MVC理念的嫌疑。但是如果你用MVC框架,放置模板语言的自定义标签难道不是更违背MVC理念吗?MVC理念提出的是M层面和V层面的逻辑分离,从来都没有说过V层面不能包含程序。我只要让V层面的程序与M层面的程序在逻辑上分离就可以了。比如说我在V层面放置一个循环,输出一串内容,这和M层面一点关系都没有,他们就是逻辑分离的。数据变量也是如此,M层面计算完成以后的数据变量就是V层面的东西了,所以在V层面的程序上随意操作M层面计算后的变量也没有违背MVC的理念。
  最后要说的是MVC是一个理念,不是一个标准。即使你把所有文件都整到一个文件中,只要MVC理念还在,你的程序就是MVC结构的。其实MVC是一个很自然的存在,不用刻意去做,顺其自然就会出现。
网名:
3.80.32.*
电子邮箱:
仅用于接收通知
提交 悄悄的告诉你,Ctrl+Enter 可以提交哦
神奇海螺
[查看全部主题]
各类Web技术问题讨论区
发起新主题
本模块采用即时聊天邮件通知的模式
让钛合金F5成为历史吧!
次碳酸钴的技术博客,文章原创,转载请保留原文链接 ^_^