.NET、C#和ASP.NET,ASP.NET MVC 四者之间的区别
from:http://www.cnblogs.com/wwym/p/5555772.html
经常,会有一些人搞不清楚.NET和c#和ASP.NET这三者之间的关系,她们都是什么呢?他们之间有什么关系呢?今天我简单给大家总结一下吧。
首先:什么是.NET?
.NET是微软公司下的一个开发平台,.NET核心就是.NET Framwork(.NET框架)是.NET程序开发和运行的环境,在这个平台下可以用不同的语言进行开发,因为.NET是跨语言的一个平台。语言可以是C#,f#,j#,vb.net等等。顺便说一下sum公司的JAVA和.NET不同的一点是java是跨平台的,不跨语言的。.NET跨平台仅限于安卓系统和IOS苹果系统。
1..net框架的组成分为两部分:CLR:公共语言运行时,-提供内在管理,代码安全性检测等功能
FLC:.NET框架类库,类库中有很多线程的资源可使用(比如:类,方法,属性),提供大量应用类库,提高开发效率
2.CLR的结构:CLS:公共语言规范,获取各种语言转换成统一的语法规范。
CTS:公共类型系统,将各种语言中的数据类型转换成统一的类型
JIT:实时编译器(即时编译器)用于将转换之后的语言编译为二进制语言,交给CPU执行。
3 .NET运行的机制流程
各种语言(c#,F#,j#等对应的源程序)——-—经过CLS,CTS第一次编译———————>统一规范语言(中间语言)MSIL(.EXE,.DLL)————JIT第二次编译————>二进制语言——————>运行在CPU中
举一反三,知道了.net的运行机制就顺便可以了解下java的运行机制,原理其实差不多
.java————编译———>字节码文件(.CLASS)———jvm解释(jvm虚拟机)———>二进制语言——————>运行在CPU中
有人说:学习.NET Framework 是所有.NET 开发人员都必须的,否则开发.NET程序永远都是停留在‘外功’的招式,.NET Framework 是.NET开发高手的‘内功’修行之一。
4.C#是一个.NET平台下的一个程序设计语言,只是一个语言,仅此而已。 程序设计语言是为了方便开发人员和计算机沟通的工具。 从上面.net的运行机制流程就可以看出C#和.NET之间的关系,画面阅读者自己进行补脑想象吧!
5.ASP.NET是一个网站开发的技术,是.NET框架中的一个应用模型。(它的历史挺长远的,我就不写它的由来了,个人理解是它的妈妈是ASP,不懂问度娘吧)使用ASP.NET开发Web应用程序并维持其运行,比其他开发语言更加简单。与Java、PHP和Perl等高级技术相比,ASP.NET具有方便性、灵活性、生产效率高、安全性高及面向对象等优点,是目前主流的网络编程技术之一。
6.关于ASP.NET MVC,刚开始接触这个技术的时候我经常不理解他们的名字,我相信许多学ASP.NET开发人员开始接触MVC应该也和我一样产生很多为什么,也会误认为认为MVC与ASP.NET完全没有关系,是一个全新的Web开发,深入学习后我才知道事实上A SP.NET是创建WEB应用的框架而MVC是能够用更好的方法来组织并管理代码的一种更高级架构体系,所以可以称之为ASP.NET MVC。我们可将原来的ASP.NET称为 ASP.NET Webforms,新的MVC 称为ASP.NET MVC。
MVC是软件架构的一种模式,可以说就相当于我们常说的设计模式吧。其中主要包括三个模块,顾名思义。就如MVC名字所显示的那样:模型(Model),视图(View),控制器(Controller)。mvc中的模型(Model)和视图(View )是完全区别于三层架构中的模型(Model)和视图(View)的。
MVC中模型(Model)的特点:
①有对数据直接访问的权利,如:对数据库的访问;
②模型(Model)“不依赖”视图(View)和控制器(Controller),即模型(Model)不关心它会被如何显示或者如何被操作;
③模型(Model)中数据的变化一般会通过一种刷新机制被“公布”;
④为了实现③中的“机制”用于监视此模型的视图必须事先在此模型上注册。从而,视图可以了解在数据模型上发生的改变。
视图(View),这里的视图基本跟三层中的视图一样,都是为了显示数据,没有程序上的逻辑。为了实现视图上数据的刷新,视图(View)需要访问它监视的模型(Model),所以应该事先在被它监视的数据那里进行注册。
控制器(Controller),这个概念是在三层中不存在的概念。它主要起到不同层面的组织作用,用于控制应用程序的流程。主要处理事件并作出相应操作。
以上就是三层结构和mvc在概念上的一点区别吧。(什么是三层结构?百度一下,你就知道。)
有句话说的好:学而不思则罔,思而不学则殆,学编程不仅要知其然,还要知其所以然,才能更好的领悟和体会到编程的神奇和美妙。
转载于:https://www.cnblogs.com/vinsonLu/p/6192626.html
.NET、C#和ASP.NET,ASP.NET MVC 四者之间的区别相关推荐
- ASP .NET Core Web MVC系列教程四:添加模型
系列文章目录:ASP .NET Core Web MVC系列教程:使用ASP .NET Core创建MVC Web应用程序 上一个教程:ASP .NET Core Web MVC系列教程三:添加视图 ...
- ASP .NET Core Web MVC系列教程三:添加视图
系列文章目录:ASP .NET Core Web MVC系列教程:使用ASP .NET Core创建MVC Web应用程序 上一个教程:ASP .NET Core Web MVC系列教程二:添加控制器 ...
- ASP .NET Core Web MVC系列教程二:添加控制器
系列文章目录:ASP .NET Core Web MVC系列教程:使用ASP .NET Core创建MVC Web应用程序 上一个教程:ASP .NET Core Web MVC系列教程一:创建一个W ...
- ASP .NET Core Web MVC系列教程一:创建一个Web应用程序
系列文章目录:ASP .NET Core Web MVC系列教程:使用ASP .NET Core创建MVC Web应用程序 从Visual Studio中选择" 创建新项目". 选 ...
- ASP .NET Core Web MVC系列教程:使用ASP .NET Core创建MVC Web应用程序
本系列教程翻译自微软官方教程,官方教程地址:Get started with ASP.NET Core MVC | Microsoft Docs 本系列教程介绍了构建MVC Web应用程序的基础知识. ...
- 1月4日链接篇:ASP.NET, ASP.NET AJAX, ASP.NET MVC, Visual Studio, IIS7
[原文地址]Jan 4th Links: ASP.NET, ASP.NET AJAX, ASP.NET MVC, Visual Studio, IIS7 [原文发表日期] Friday, Januar ...
- 初识 ASP.NET 3.5 MVC 开发
在学习被停滞了N久以后,今天终于下定决心要继续了.过了太久堕落的生活也开始厌倦了.继续开始我的MVC学习之路. 目录机构: models 文件夹: 模型组件 还可以存放有关数据访问操作的一些类. ...
- ASP.NET WebForm和Mvc开发的比较
在初步了解MVC后,发现很多人对于MVC和三层架构开发概念上会有很大的混淆,所以把这两天的学习笔记整理一下,分享给自己的同学们.同时也做一个小Demo,让没有接触过MVC开发的同学,能对MVC有一个简 ...
- asp.net core web mvc之异常
与web api类似,asp.net core web mvc模板也是利用ExceptionHandler来处理错误,在starup的Configure配置数据发生时导向的/home/error pu ...
最新文章
- mysql schema table_关于数据库中table与schema的区别详解
- GDB调试打印STL对象
- HTTP之Range
- AlbertTransformerEncoder
- SpringCloud-Config通过Java访问URL对敏感词加密解密
- 一年Android工作经验,一举拿下百度、网易、美团、小米、快手等Offer面经
- ASP.Net 2 入门(一)――用户登录和注销
- 中级 PHP 知识点汇总
- 判断数组是否为某二叉搜索树的后序遍历
- 神策分析 2.1 重磅上线!报警诊断、多主体分析、渠道追踪等赋能企业数字化经营...
- 2019黑马python吾爱_最新Python黑马头条推荐系统项目视频教程
- 想做AI工程师?这个案例必须掌握!(附完整代码Keras实现CNN)
- matplotlib绘制图像设置中文宋体,英文新罗马,字体大小7.5,坐标轴刻度线内侧
- Maya粒子-水滴表面流动效果
- 君康人寿2019年排名_君康人寿保险靠谱吗?
- 电脑编程技巧与维护杂志电脑编程技巧与维护杂志社电脑编程技巧与维护编辑部2022年第6期目录
- python编程:从入门到实践(持续更新)
- Oracle报错宗介
- 在线文档预览解决方案-Office Web Apps在Windows Server 2008 R2部署教程
- 读写锁ReentrantReadWriteLock源码分析
热门文章
- PHP+百度地图API+JAVASCRIPT实现GPS坐标与百度坐标转换的实例
- Qt QString 中文 char* UTF-8 QByteArray QTextCodec unicode gb2312 GBK 乱码与转码问题
- 部署zabbix企业监控平台
- 【鬼网络】之部署YUM仓库大全
- zabbix安装php7.0,Centos 7.0安装Zabbix server详细步骤(示例代码)
- python小细节之else
- linux 7.0修改网卡ip,CentOS7修改网卡为静态IP
- python提取html表格_想知道世界谁最有钱?3行Python代码告诉你
- 与时代并肩的数字创新者
- ThingJS:部署物联网不用买买买,互联互动是切入点