MVC模式(三层架构模式)(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)
上面那段话摘自wikipedia,是对MVC开发模式的定义,现在来谈谈怎么以MVC的架构模式开发WEB网站吧吧。

一. 模型(Model)包括程序和业务规则。
model 用来固化数据。封装与业务逻辑相关的数据and对数据的处理方法。模型它不关心业务是怎么实现的,它只关心数据是如何存储的。比如说,脚本语言与数据库数据交互的方法,以及封装好的sql语句。主要用php、asp、jsp之类的服务器脚本语言来实现。

**第1层: 数据访问抽象层 封装增删改语句成类
例如Metabase、PEAR:DB、PDO及ADODB等的数据库访问的抽象代码都写在model层内的代码中。增加、删除、修改等基础的方法也都封装成一个类中的各个方法。
  **第2层: DAO 封装各种比增删改更复杂逻辑的sql语句成类
DAO (Data Access Objects) 数据访问对象 是JAVA开发中的概念。说白了就是把那些SQL语句封装成一个类,把不同的SQL语句封装成一个个方法。然后需要用到SQL语言的时候就把DAO类实例化为对象,在通过调用对象中的方法来,完成对SQL语句的使用。
......相关文件......
userDao.php   数据库操作语言封装
DB.php   PDO相关,数据库连接

二. 控制器(Controller)接受用户输入,确定把那个模型和视图呈现给用户。
控制器起到不同层面间的组织作用,用于控制应用程序的流程。 控制器层里常常放一些业务逻辑方面的代码,一些业务方面的逻辑事件封装成一个个类中的方法,且方法中必调用第2层中的DAO对象,来完成业务逻辑方面的操作。也是用php、asp、jsp之类的服务器脚本语言来实现。

**第3层:server
server层主要是对业务逻辑的梳理。具体的比如登陆、注册、添文章之类的基础功能事件都被分装成不同的类,不同类中的方法。创建一个叫做“用户”的类,类中写各种方法,什么注册呀,登录呀,账号密码匹配什么的统统写里面。。
.....相关文件.......
userservice.php   业务逻辑的实现。。。

三. 视图(View)窗口、页面、控件,呈现给用户的形式
视图层用来显示数据,设计、输出网页。主要使用HTML、css、js语言,以及一点点服务器脚本语言。

**第4层:controller
controller层虽然称作controller,不过这里面的代码和控制器真的没什么关系哒。里面是一些服务器与用户数据的交互,直接调用server层里的类,并且实例化它,输出需要的数据。其实就是服务端与用户端数据的交互啦。咳咳,一般使用php来实现这个层。并且调用下面view层内的显示代码。

**第5层:view
view层 里放的主要就是HTML、css、js这些代码,顾名思义view嘛。另外要注意,想要服务器脚本语言输出的数据?写在view里,controller里不能输出各种奇怪的东西哦~

用MVC开发网站的好处:

好处有很多,大家可以上网查查。
1. 代码简洁、整齐。要改个BUG什么的,找出问题后就去相应的层中直接秒改。这样就不用在一坨坨乱七八糟的代码中瞪大眼睛找具体的代码块在哪里啦。虐~
2. 协同开发时方便呦,DBer负责写model的代码,后台程序员负责写controller代码,前端工程师负责写view层。。就这样。
3. 代码维护方便,有事没事可以去修改修改。。

MVC框架-.net-摘的更多相关文章

  1. 自己写一个java的mvc框架吧(五)

    自己写一个mvc框架吧(五) 给框架添加注解的支持 一段废话 上一章本来是说这一章要写视图处理的部分,但是由于我在测试代码的时候需要频繁的修改配置文件,太麻烦了.所以这一章先把支持注解的功能加上,这样 ...

  2. Spring Web MVC框架简介

    Web MVC framework框架 Spring Web MVC框架简介 Spring MVC的核心是`DispatcherServlet`,该类作用非常多,分发请求处理,配置处理器映射,处理视图 ...

  3. 开源:Taurus.MVC 框架

    为什么要创造Taurus.MVC: 记得被上一家公司忽悠去负责公司电商平台的时候,情况是这样的: 项目原版是外包给第三方的,使用:WebForm+NHibernate,代码不堪入目,Bug无限,经常点 ...

  4. 编写自己的PHP MVC框架笔记

    1.MVC MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控制器(Controller). ...

  5. 转 10 个最佳的 Node.js 的 MVC 框架

    10 个最佳的 Node.js 的 MVC 框架 oschina 发布于: 2014年02月24日 (33评) 分享到:    收藏 +322 Node.js 是一个基于Chrome JavaScri ...

  6. 制作自己的MVC框架(一)——简单粗暴的实现

    现在市面上有很多成熟的MVC框架,可以拿来直接用,但自己造一下轮子其实也挺有意思的. 下面先来看个最简单粗暴的MVC实现. 5个文件就能实现最简单的MVC,在Apache中设置一个虚拟目录,配置个简单 ...

  7. 分享一实战性开源MVC框架<Linux、Windows跨平台开发so easy>

    一.引子   开源地址 https://github.com/564064202/Moon.Mvc 欢迎加入开发 .NET Core微软还在发力,但作为商用还有一段距离,很多开发库尚不能用于.NET ...

  8. 产品前端重构(TypeScript、MVC框架设计)

    最近两周完成了对公司某一产品的前端重构,本文记录重构的主要思路及相关的设计内容. 公司期望把某一管理类信息系统从项目代码中抽取.重构为一个可复用的产品.该系统的前端是基于 ExtJs 5 进行构造的, ...

  9. 请求如何进入ASP.NET MVC框架

    一.前言 对于WebForm开发,请求通常是一个以.aspx结尾的url,对应一个物理文件,从代码的角度来说它其实是一个控件(Page).而在MVC中,一个请求对应的是一个Controller里的Ac ...

  10. MVC系列——MVC源码学习:打造自己的MVC框架(四:了解神奇的视图引擎)

    前言:通过之前的三篇介绍,我们基本上完成了从请求发出到路由匹配.再到控制器的激活,再到Action的执行这些个过程.今天还是趁热打铁,将我们的View也来完善下,也让整个系列相对完整,博主不希望烂尾. ...

随机推荐

  1. JS打开新窗口,子窗口操作父窗口

    <!--父窗口弹窗代码开始--> <script type="text/javascript"> function OpenWindow() { windo ...

  2. 梦殇 chapter five

    一弦情殇未谱,半纸离愁难书,不记年,叹花开几度...... 蜡烛用它自己的死亡来温暖别人,奉献自己的同时,它内心是快乐的吗?那残留的蜡油是它的泪水,还是它快乐的预兆? 这个世界上除了父母家人外,会有真 ...

  3. echart.js组件编写

    1.传参 <area-chart :chartdata='monitorTimes' :datatype='typeSelected' :dataX = '"tid"' :t ...

  4. 异常处理 day 30

    异常处理 一 错误和异常 二 异常处理 2.1 什么是异常处理? 2.2 为何要进行异常处理? 2.3 如何进行异常处理? 三 什么时候用异常处理 异常和错误 part1:程序中难免出现错误,而错误分 ...

  5. 2.git使用之git fetch和git push的区别

    . git fetch:相当于是从远程获取最新版本到本地,不会自动merge git fetch origin master git log -p master..origin/master git ...

  6. 织梦替换百度编辑器后栏目内容、单页无法保存bug修复

    找了一些教程是错的,这个测试过是正确的. 修改后台文件dede>templets>catalog_add.htm和catalog_edit.htm 一.在catalog_add.htm大概 ...

  7. OKI系列针式打印机更换色带图解教程

    色带一直换不好,今天找到一个带图的教程,收藏一下 打开新色带的包装后,我们可以仔细观察一下新色带,找到里面带有一段“扭曲”色带的位置,这段色带就是:“莫比乌斯带”结构. 找到“莫比乌斯带”结构(就是有 ...

  8. 开发中,android手机WIFI无法使用,无SIM卡故障解决

    用eclipse 开发android中,突然出现,android手机WIFI无法使用,无SIM卡故障解决 发现故障后,想办法刷机(没有成功),触点清洁都搞了. 最后恢复出厂设置居然解决了,留资料给同行 ...

  9. Servlet会话管理三(HttpSession)

    Session是服务器端技术,服务器在运行时可以为每一个用户的浏览器创建一个其独享的HttpSession对象.由于Session为浏览器用户所独享,所以用户在访问服务器的web资源时,可以把各自的数 ...

  10. [规则原则定理]规则原则定理章3Java命名规范

    JAVA命名规范 驼峰法则: 将所有字母都小写(包括缩写),然后将单词的第一个字母大写. 每个单词的第一个字母都大写,来得到大驼峰式命名. 除了第一个单词,每个单词的第一个字母都大写,来得到(小)驼峰 ...