MVC框架-.net-摘
上面那段话摘自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-摘的更多相关文章
- 自己写一个java的mvc框架吧(五)
自己写一个mvc框架吧(五) 给框架添加注解的支持 一段废话 上一章本来是说这一章要写视图处理的部分,但是由于我在测试代码的时候需要频繁的修改配置文件,太麻烦了.所以这一章先把支持注解的功能加上,这样 ...
- Spring Web MVC框架简介
Web MVC framework框架 Spring Web MVC框架简介 Spring MVC的核心是`DispatcherServlet`,该类作用非常多,分发请求处理,配置处理器映射,处理视图 ...
- 开源:Taurus.MVC 框架
为什么要创造Taurus.MVC: 记得被上一家公司忽悠去负责公司电商平台的时候,情况是这样的: 项目原版是外包给第三方的,使用:WebForm+NHibernate,代码不堪入目,Bug无限,经常点 ...
- 编写自己的PHP MVC框架笔记
1.MVC MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控制器(Controller). ...
- 转 10 个最佳的 Node.js 的 MVC 框架
10 个最佳的 Node.js 的 MVC 框架 oschina 发布于: 2014年02月24日 (33评) 分享到: 收藏 +322 Node.js 是一个基于Chrome JavaScri ...
- 制作自己的MVC框架(一)——简单粗暴的实现
现在市面上有很多成熟的MVC框架,可以拿来直接用,但自己造一下轮子其实也挺有意思的. 下面先来看个最简单粗暴的MVC实现. 5个文件就能实现最简单的MVC,在Apache中设置一个虚拟目录,配置个简单 ...
- 分享一实战性开源MVC框架<Linux、Windows跨平台开发so easy>
一.引子 开源地址 https://github.com/564064202/Moon.Mvc 欢迎加入开发 .NET Core微软还在发力,但作为商用还有一段距离,很多开发库尚不能用于.NET ...
- 产品前端重构(TypeScript、MVC框架设计)
最近两周完成了对公司某一产品的前端重构,本文记录重构的主要思路及相关的设计内容. 公司期望把某一管理类信息系统从项目代码中抽取.重构为一个可复用的产品.该系统的前端是基于 ExtJs 5 进行构造的, ...
- 请求如何进入ASP.NET MVC框架
一.前言 对于WebForm开发,请求通常是一个以.aspx结尾的url,对应一个物理文件,从代码的角度来说它其实是一个控件(Page).而在MVC中,一个请求对应的是一个Controller里的Ac ...
- MVC系列——MVC源码学习:打造自己的MVC框架(四:了解神奇的视图引擎)
前言:通过之前的三篇介绍,我们基本上完成了从请求发出到路由匹配.再到控制器的激活,再到Action的执行这些个过程.今天还是趁热打铁,将我们的View也来完善下,也让整个系列相对完整,博主不希望烂尾. ...
随机推荐
- javascript 字面量 和变量 之间的关系
https://www.w3cschool.cn/javascript/js-syntax.html
- selenium无界面chromedriver
chromeDriver下载地址:http://chromedriver.storage.googleapis.com/index.html 谷歌浏览器Chrome和驱动程序的对照表https://b ...
- Svn启动窗口报错 Could not load file or assembly 'SharpSvn.dll' or one of its
win10 64位系统生成没问题,测试都没问题,结果换到win7 64位系统上,点开就出现,网上搜了下,通过以下方式解决, 必须把bin 文件夹全部删除,重新生成.要不还是会报错. Solve it. ...
- Python知识
1 注释 单行注释:# 内容 多行注释:A """ ''' 内容 或 内容 "&quo ...
- andorid 对话框
activity_ui2.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout x ...
- linux RCU锁机制分析
openVswitch(OVS)源代码之linux RCU锁机制分析 分类: linux内核 | 标签: 云计算,openVswitch,linux内核,RCU锁机制 | 作者: yuzhih ...
- BZOJ1047或洛谷2216 [HAOI2007]理想的正方形
BZOJ原题链接 洛谷原题链接 显然可以用数据结构或\(ST\)表或单调队列来维护最值. 这里采用单调队列来维护. 先用单调队列维护每一行的最大值和最小值,区间长为正方形长度. 再用单调队列维护之前维 ...
- map reduce 用法 str处理lower() capitalize()
-- s=' l={':9}[s[0]] print(l) 取出dic里面key的元素 def normalize(name): tempn=name.lower().capitalize() ret ...
- BUG(0):用某位表示特定属性
用某个bit表示特定属性通常有两种方式: 1.指定某个特定的value #define _PAGE_VALID 0x0001 0bit 为 1 时表示此时的page entry是有效的 用法如下,此时 ...
- Scrapy shell调试返回403错误
一.问题描述 有时候用scrapy shell来调试很方便,但是有些网站有防爬虫机制,所以使用scrapy shell会返回403,比如下面 C:\Users\fendo>scrapy shel ...