.NET,C#和ASP.NET,ASP.NET MVC 四者之间的区别
链接:https://bbs.csdn.net/topics/392628788?list=3349040
一.NET
.NET是微软的一个开发平台,其主要核心就是.NET Framwork,这个平台的一大特点就是跨语言性,不管是什么语言,c、c++、c#、F#、J#、vb等语言都可以用这个平台合作开发;
二.C#
全称C sharp,C#是一个.NET平台下的一个程序设计语言,和c语言、c++语言、java语言等一样都是一门语言,使用它进行编程非常方便,而且它也是一门面向对象的开发语言。
三.ASP.NET
它是一门网站开发的技术,是.NET框架中的一个应用模型。使用ASP.NET开发Web应用程序并维持其运行,比其他开发语言更加简单。与Java、PHP和Perl等高级技术相比,ASP.NET具有方便性、灵活性、生产效率高、安全性高及面向对象等优点,是目前主流的网络编程技术之一。
五.ASP.net MVC模型
MVC是软件架构的一种模式,可以说就相当于我们常说的设计模式吧。其中主要包括三个模块,顾名思义。就如MVC名字所显示的那样:模型(Model),视图(View),控制器(Controller)。mvc中的模型(Model)和视图(View )是完全区别于三层架构中的模型(Model)和视图(View)的。
①模型(Model)“不依赖”视图(View)和控制器(Controller),即模型(Model)不关心它会被如何显示或者如何被操作;
②视图(View),这里的视图基本跟三层中的视图一样,都是为了显示数据,没有程序上的逻辑。为了实现视图上数据的刷新,视图(View)需要访问它监视的模型(Model),所以应该事先在被它监视的数据那里进行注册。
③控制器(Controller),这个概念是在三层中不存在的概念。它主要起到不同层面的组织作用,用于控制应用程序的流程。主要处理事件并作出相应操作。
五.Visual Studio 2017
这款软件是用来开发c#程序的开发工具,里面可以开发web、Windows窗体应用、手机应用等等;
链接:https://www.cnblogs.com/wwym/p/5555772.html
什么是.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中
java的运行机制
.java————编译———>字节码文件(.CLASS)———jvm解释(jvm虚拟机)———>二进制语言——————>运行在CPU中
4.C#是一个.NET平台下的一个程序设计语言,只是一个语言,仅此而已。 程序设计语言是为了方便开发人员和计算机沟通的工具。 从上面.net的运行机制流程就可以看出C#和.NET之间的关系,画面阅读者自己进行补脑想象吧!
5.ASP.NET是一个网站开发的技术,是.NET框架中的一个应用模型。(历史挺长远的)使用ASP.NET开发Web应用程序并维持其运行,比其他开发语言更加简单。与Java、PHP和Perl等高级技术相比,ASP.NET具有方便性、灵活性、生产效率高、安全性高及面向对象等优点,是目前主流的网络编程技术之一。
6.关于ASP.NET MVC,刚开始接触这个技术的时候我经常不理解他们的名字,我相信许多学ASP.NET开发人员开始接触MVC应该也和我一样产生很多为什么,也会误认为认为MVC与ASP.NET完全没有关系,是一个全新的Web开发,深入学习后我才知道事实上ASP.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中的Model与三层中的Model区别
链接:https://blog.csdn.net/lyyswx/article/details/78936952
关于MVC与三层架构的关系,这两个的关系还真不好说,因为它们的关系是动态的,相对的,取决于整个项目的框架。那么本文论述两种情况下的MVC与三层架构的关系
情况一、只有MVC框架的项目和不含有MVC框架的三层架构项目
那么这个时候他们之间的关系就有异同点了:
相同:的是都分为三层,都能形成从用户到数据库的闭合回路。
不同点:
1、划分层次不同
三层:分为表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)
MVC:即模型(Model)、视图(View)、控制(Controller)
它们之间并没有什么对应关系,但如果非要对应的话,可以看下下图中的关系
2、三层中的Model与MVC中的Model
首先解释下MVC,关于V和C分别代表什么,作用是什么,之前的博客都详细描述过,那在这里就不作解释了,在这三个里,最不容易理解的是Model,就什么是Model?跟三层架构中的实体层是同样的功能吗?很多人可能会把MVC中的Model层误认为三层架构中的实体类。其实在MVC架构中Model层有比实体类更丰富的定义和作用,在MVC框架中Model层的作用既有真正的逻辑事物,数据访问,甚至算法都放在Model去,这和实体类完全是两回事。“三层”中典型的Model层是已实体类构成的,而MVC中的model,则是由业务逻辑与访问数据组成的。不一样的概念。虽然名字一样。
再说三层架构,三层其实很好理解,界面,业务,数据访问,就这三个,从字面都可以理解出它们的意思。我要说的是它和MVC的区别。在三层架构中没有定义Controler的概念。这是我认为最不同的地方。而MVC也没有把业务的逻辑访问看成两个层,这是采用三层架构或MVC搭建程序最主要的区别。
情况二、既含有MVC框架也含有三层架构的项目
在这种框架下,MVC和三层架构的关系就变得非常显而易见了。
三层架构中,DAL(数据访问层)、BLL(业务逻辑层)、WEB层各司其职,意在职责分离。MVC是 Model-View-Controller,严格说这三个加起来以后才是三层架构中的WEB层,也就是说,MVC把三层架构中的WEB层再度进行了分化,分成了控制器、视图、实体三个部分,控制器完成页面逻辑,通过实体来与界面层完成通话;而C层直接与三层中的BLL进行对话。三层和MVC的组合解决了Model与数据库耦合性太强的问题。