MVC这三个字母不愧博大精深,当我自以为要马上攻破php最后一道难关的时候,那时候的我好想就想错了,当我研究了一个半月之后,竟然发现其思想是那么的难以理解,直到现在我也不得不承认我只是对这个思想的认识只是一个皮毛,对于很底层的东西还是不太理解,还有别的要说的,但先说一下我对MVC的理解:
其实MVC并不是一个什么语法或者算法,只是一个开发模式,说道开发模式,我所知道的有传统的MODEL模式,即过程化的处理,而MVC则是对结构做了一个很好的优化,更像是一种开发规范,你必须要根据规范去执行,才能够去使用其内部的各种库,就像小孩子只有听大人的话大人才能给买吃的,说到这,肯呢过还是不太明白,那就具体的说一下MVC,MVC你一眼就应该可以看出来这是字母的缩写即分别为M:模型
V: 视图 C:控制器。
这养的话,我们就应该知道,MVC至少有这三个最为基础的东西,模型,先简单的说一下比如数据模型,像你的数据库配置哪些什么的,当然这里的模型还会有分支,一开始学的时候不建议再往下多想,到明白的时候自然会明白,那么V呢,这是MVC最容易理解的地方了,就是视图,说白了就是用户看到的前端页面,这个没有说明难以理解的,可以过去,下面就是最为重要的控制器了,这个起到了中枢神经的作用,你既然能看到这里,就一定知道APACHE的作用是什么了,是一样的道理,起到了分配,逻辑处理,程序结构等等很多重要的功能,我之前卡死就卡死到控制器上面了,因为即便你去按照规范去创建了控制器可是你还是对于之后的种种规范感觉难以理解,在自己的内心里,就永远没有那种明白的感觉,总感觉是朦朦胧胧的,其实就是不明白,这个过程是无法传授的,自能依靠自己去理解,自由自己真正的理解了,问题才会有好的解决。
其实额外的理解,因为我们或许知道作为一般的程序开发,我们都是尽量做到业务的分离,只有业务之间完全分离,才能支持大型的团体的项目开发,所以说,都是这样,jquery的诞生原因之一就是我们有对html代码结构和行为的分离,这样增强了代码的可维护性,你可能会拿html5反驳我,至于html5的诞生,我可感到很费解,除了在移动端对用户的体验提高之外,没有发现太大的亮点,但有一个在我看来致命的弱点,就是之前我们仅仅对于前段页面而言是结构,样式,行为,分别由html,css,和JavaScript提供支持,但是,html5的一些新的属性明显越界了,这样不就是明显的与代码分离原则相违背把,这可能需要另一种思考方式,但是从我个人的方面来看是不太好的。那么在回到MVC,其一个重要的原则就是做到了业务分离,大的方面,前端设计和后台业务逻辑的分离,小的方面,数据设计和逻辑处理的分离等等,这样,对于大型的团队开发,对于后期维护是非常高效的,这也是MVC在各种开发语言大受欢迎的原因之一。
我现在学的thinkphp,就是一种MVC框架,相对于其他的框架简单一些,但还是不太好理解,我的总结是,想要学好这些东西,还是要多写代码,多分析过程和错误原因,这是非常重要的,最好还要写一下文档,以前我绝得写文档很没有必要,单后后来发现,文档可以让子自己很明确开发思路,因为开发后台就怕脑子浑,一旦发浑,就不知所以然了,所以写文档是很不错的。