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也来完善下,也让整个系列相对完整,博主不希望烂尾. ...
随机推荐
- vue2.0插件
1.better-scroll 参考网址:https://ustbhuangyi.github.io/better-scroll/doc/zh-hans/ better-scroll 是什么 firs ...
- 集合 day8
一,集合. 集合是无序的,不重复的数据集合,它里面的元素是可哈希的(不可变类型),但是集合本身是不可哈希(所以集合做不了字典的键)的.以下是集合最重要的两点: 去重,把一个列表变成集合,就自动去重了. ...
- socket 进阶
1.验证客户端链接的合法性 如果你想在分布式系统中实现一个简单的客户端链接认证功能,又不像SSL那么复杂,那么利用hmac+加盐的方式来实现 import socket import os impor ...
- 8N - 水果
夏天来了~~好开心啊,呵呵,好多好多水果~~ Joe经营着一个不大的水果店.他认为生存之道就是经营最受顾客欢迎的水果.现在他想要一份水果销售情况的明细表,这样Joe就可以很容易掌握所有水果的销售情况了 ...
- [Centos] ERROR: Could not find useradd in chroot, maybe the install failed?
[mockbuild at localhost ~]$ mock -r centos-5-x86_64-testdev.cfg initinitcleanprepThis may take a whi ...
- django基础使用
//创建应用 python3 manage.py startapp mysite //开启服务 python3 manage.py runserver 127.0.0.1:8080 //创建数据库命令 ...
- Python3实战系列之二(获取印度售后数据项目)
问题:续接上一篇.说干咱就干呀,勤勤恳恳写程序呀! 目标:安装python和pycharm.要编写并运行python程序就需要电脑有开发工具和运行环境,所以此篇就是安装编辑和运行python程序的软件 ...
- 常见CSS
.login_top_bg { background-image: url(/pcssc/images/login/login-top-bg.gif); background-repeat: repe ...
- 【机器学习】用Octave实现一元线性回归的梯度下降算法
Step1 Plotting the Data 在处理数据之前,我们通常要了解数据,对于这次的数据集合,我们可以通过离散的点来描绘它,在一个2D的平面里把它画出来. 6.1101,17.592 5.5 ...
- Roslyn研究随笔
Roslyn概述: http://blogs.ejb.cc/archives/7604/dotnet-compile-platform-roslyn-overview 使用Microsoft Rosl ...