asp.net三层架构与asp.net MVC各自的区别,各自应该应用在啥场合,在啥情况下用三层,啥情况下用MVC

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了asp.net三层架构与asp.net MVC各自的区别,各自应该应用在啥场合,在啥情况下用三层,啥情况下用MVC相关的知识,希望对你有一定的参考价值。

参考技术A 你想知道它们用在什么场合,首先要了解它们的优点和缺点,asp.net三层架构:
统的ASP.NET开发中,微软的开发团队为开发者设计了一个在可视化设计器中拖放控件,编写代码响应事件的快速开发环境。然而,它所带来的负面效应是:

由于控件封装了很多东西,开发者很难了解这背后的html是如何运作的

容易得到一个包含大量ViewState的页面,使得页面尺寸远远超过所需的内容,使得页面的打开速度较慢

不容易被测试。asp.net
MVC:

没有数据回传

没有在页面中保存视图状态

开发者可以完全掌控页面的呈现过程

易于单元测试

易于测试驱动开发,可扩展、可替换!
ASP.NET
MVC是一个基于MVC模式的开发框架,而
三层架构是一种架构。它们可以在概念上区别开来,也就是说它们各有各的好,不能把asp.NET
MVC代替asp.net三层架构,反过来也不行!如果要做大型应用开发的话,我建议使用asp.net
mvc!
参考技术B asp.netwebform:

统的ASP.NET开发中,微软的开发团队为开发者设计了一个在可视化设计器中拖放控件,编写代码响应事件的快速开发环境。然而,它所带来的负面效应是:

由于控件封装了很多东西,开发者很难了解这背后的HTML是如何运作的

容易得到一个包含大量ViewState的页面,使得页面尺寸远远超过所需的内容,使得页面的打开速度较慢

不容易被测试。

asp.net
MVC:

没有数据回传

没有在页面中保存视图状态

开发者可以完全掌控页面的呈现过程

易于单元测试

易于测试驱动开发,可扩展、可替换!ASP.NET
MVC是一个基于MVC模式的开发框架,

三层架构:

是一种架构。数据操作层,业务逻辑层,界面UI层。

asp.netwebform、asp.netmvc
,做的是同样的事UI,他们都可以做三层架构的UI

asp.NET
MVC不是用来代替asp.netwebform!如果要做大型应用开发的话,asp.net
mvc更适合!,我当初没有搞清楚,回答者也没有搞清楚。

ASP.NET MVC 和 Angularjs 与 ASP.NET MVC 和 Reactjs

【中文标题】ASP.NET MVC 和 Angularjs 与 ASP.NET MVC 和 Reactjs【英文标题】:ASP.NET MVC and Angularjs vs ASP.NET MVC and Reactjs 【发布时间】:2016-01-08 05:04:20 【问题描述】:

我在我的 ASP.NET mvc 项目上使用了 AngularJs。尽管 AngularJs 和 ASP.NET 都基于 mvc 架构,但在我的 ASP.NET mvc 项目之上使用 AngularJs 时,我可以看到一些优势。我在这种方法中看到的主要优点是更好地呈现视图。如果是这样,为什么不将 ReactJs 与 ASP.NET mvc 一起使用,因为它纯粹专注于视图。为什么我们要搞砸两个 mvc 框架。在 ASP.NET mvc 之上使用 Reactjs 会不会比使用 AngularJs 和 ASP.NET mvc 组合更好(请注意,我将始终使用 ASP.NET mvc,我不想使用纯 JavaScript 框架)。如果我错了,请纠正我。提前致谢。

【问题讨论】:

我认为您的问题过于笼统,没有上下文。这一切都取决于您的需求。场景 1 在一种情况下可能很好,而在另一种情况下则不然,反之亦然。我想确定这一点的最佳方法是尝试使用 react 并查看它是否适合您的需求,并且它是否比您以前的方法更好。记住 5+5 = 10,但是你会得到与 2+8 相同的结果 :) @Robert 能否请您简要解释一下在 ASP.NET MVC 中使用 angularjs 和 reactjs 的场景 @DeepanCool 我也在同一条船上。我找不到任何文章比较 ReactJS 和 AngualrJS 的资深 ASP.Net MVC 开发人员广泛使用这两个框架。我也认为 ReactJS 可能是 ASP.Net MVC 的一个不错的选择,如果你不需要 Route 和 AngularJS 提供的一些附加功能。 我也有同样的问题。我一直在寻找前端编程的解决方案和一个好的学习框架。我读过一篇文章说 Reactjs 比 Angularjs 更好。我还读到了这个叫做 bridge.net 的新东西。我想知道是否有人将这些框架与 .Net 一起使用,并且清楚地了解哪个框架会更好地工作并在未来得到最多的支持。深入了解它是非常令人困惑的主题。 【参考方案1】:

我过去在项目中使用过 angular 和 react。使用 Angular,你会用 Angular 代码弄脏你的 html 标记。使用 react 将其全部封装在一个组件中。由于我从来都不是角度方面的专家,因此我可能没有尽其所能地使用它,但对我来说,Reactjs 似乎是更好的框架,并且似乎更适合 ASP.NET MVC。

我不相信有一种正确的工具可以完成这项工作。这真的是任何适合您的需求和您喜欢的东西。不过我建议给 Reactjs 一个机会。

【讨论】:

以上是关于asp.net三层架构与asp.net MVC各自的区别,各自应该应用在啥场合,在啥情况下用三层,啥情况下用MVC的主要内容,如果未能解决你的问题,请参考以下文章

论坛分享ASP.net MVC与三层架构

ASP.NET MVC 的三层架构 + EF数据模型

ASP.NET MVC 的三层架构 + EF数据模型

asp.net中的三层架构是啥意思

Asp.Net MVC+EF+三层架构的完整搭建过程

ASP.NET中MVC的理解