ThinkPHP中的MVC开发模式理解一

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框架,相对于其他的框架简单一些,但还是不太好理解,我的总结是,想要学好这些东西,还是要多写代码,多分析过程和错误原因,这是非常重要的,最好还要写一下文档,以前我绝得写文档很没有必要,单后后来发现,文档可以让子自己很明确开发思路,因为开发后台就怕脑子浑,一旦发浑,就不知所以然了,所以写文档是很不错的。

时间: 2024-10-07 19:50:41

ThinkPHP中的MVC开发模式理解一的相关文章

js架构设计模式——理解javascript中的MVVM开发模式

理解javascript中的MVVM开发模式 http://blog.csdn.net/slalx/article/details/7856769 MVVM的全称是Model View ViewModel,这种架构模式最初是由微软的MartinFowler作为微软软件的展现层设计模式的规范提出,它是MVC模式的衍生物,MVVM模式的关注点在能够支持事件驱动的UI开发平台,例如HTML5,[2][3] WindowsPresentation Foundation (WPF), Silverligh

转 。。理解javascript中的MVVM开发模式

MVVM的全称是Model View ViewModel,这种架构模式最初是由微软的MartinFowler作为微软软件的展现层设计模式的规范提出,它是MVC模式的衍生物,MVVM模式的关注点在能够支持事件驱动的UI开发平台,例如HTML5,[2][3] WindowsPresentation Foundation (WPF), Silverlight 和 t ZK framework,Adobe Flex. 对这种模式的实现,大部分都是通过在view层声明数据绑定来和其他层分离的,这样就方便了

Extjs 6 MVC开发模式(二)

1.Extjs MVC开发模式 在JS的开发过程中,大规模的JS脚本难以组织和维护,这一直是困扰前端开发人员的头等问题.Extjs为了解决这种问题,在Extjs4.x版本中引入了MVC开发模式,开始将一个JS(Extjs)应用程序分割成Model-View-Controller三层,为JS应用程序的如何组织代码指明了方向,同时使得大规模JS代码变得更加易于重用和维护:这就是Extjs MVC开发模式的初衷. 在官方给出的MVC例子中,我们可以看到一个简单的列表编辑功能,这篇文章就围绕这个功能进行

MVC 开发模式

MVC 开发模式   1.理解 在MVC模式中,应用程序被划分成了模型(Model).视图(View)和控制器(Controller)三个部分.其中,模型部分包含了应用程序的业务逻辑和业务数据:视图部分封装了应用程序的输出形式,也就是通常所说的页面或者是界面:而控制器部分负责协调模型和视图,根据用户请求来选择要调用哪个模型来处理业务,以及最终由哪个视图为用户做出应答. 注意:数据模型用来存放业务数据,比如订单信息.用户信息等:而业务逻辑模型包含应用的业务操作,比如订单的添加或者修改等. 2.MV

Extjs MVC开发模式详解

Extjs MVC开发模式详解 在JS的开发过程中,大规模的JS脚本难以组织和维护,这一直是困扰前端开发人员的头等问题.Extjs为了解决这种问题,在Extjs 4.x版本中引入了MVC开发模式,开始将一个JS(Extjs)应用程序分割成Model-View-Controller三层,为JS应用程序的如何组织代码指明了方向,同时使得大规模JS代码变得更加易于重用和维护:这就是Extjs MVC开发模式的初衷. 在官方给出的MVC例子中,我们可以看到一个简单的列表编辑功能,这篇文章就围绕这个功能进

MVC开发模式的数据运行流程

对于java中经典的开发模式MVC,有一些感触!现说一下Java中数据的运行流程,由于我技术有限,有错的话欢迎提出,不喜勿喷! 我们知道在MVC开发模式,包括三部分视图层V(view).控制层C(Controller)和模型层M(model),那么在一个项目中,这三部分又是指的什么呢? 视图层:顾名思义指的是看到的界面,通常也就是我们所说的JSP页面. 控制层:指的是servlet. 模型层:除了这两部分,剩下的所有. 在这里我将用画图的形式显示一下,数据的流转方式 1.当我们在JSP页面点击一

【转】EXT JS MVC开发模式

原文链接:EXT JS MVC开发模式 在app(亦即根目录)文件夹下面创建controller.model.store和view文件夹,从名称上就知道他们该放置什么代码了吧.然后创建Application.js作为我们程序的入口文件,并在mvc.html中引用Application.js文件.目录结构-->app(根目录)------>controller------>model------>store------>view------>application.js(

MVC开发模式下的用户角色权限控制

前提: MVC开发模式 大概思想: 1.在MVC开发模式下,每个功能都对应着不同的控制器或操作方法名(如修改密码功能可能对应着User/changepd),把每个功能对应的控制器名和操作方法名存到数据库中,分别分配一个Id,这样,每个功能就都对应着一个Id. 2.在用户表中,每个用户都有一个用户角色(类似用户组)id 3.在角色表中,每个角色id都存放着他们自身角色所拥有的功能id的集合 然后在判断权限时,通过用户的角色Id获取相关功能id集合,然后判断当前访问的功能id是否在集合中,大致如此.

MVC开发模式和三层架构

MVC:开发模式 1. jsp演变历史 1. 早期只有servlet,只能使用response输出标签数据,非常麻烦 2. 后来有jsp,简化了Servlet的开发,如果过度使用jsp,即在jsp中写大量的java代码,又写html,造成难于维护,难于分工协作 3. 再后来,java的web开发,借鉴mvc开发模式,使得程序的设计更加合理性 2. MVC: 1. M:Model,模型.JavaBean 完成具体的业务操作,如:查询数据库,封装对象 2. V:View,视图.JSP 展示数据 3.