首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JavaScript MVC与ASP.NET MVC (模式差异)

JavaScript MVC与ASP.NET MVC (模式差异)
EN

Stack Overflow用户
提问于 2013-08-13 15:14:34
回答 2查看 1.6K关注 0票数 1

问题-(后故事)

因此,最近我进行了几次采访,而在这四个问题上不断出现的问题是:“X在MVC应用程序中的位置是什么?”

问题是我采访的公司每次都不一样。其中两家主要是ASP.NET MVC /微软商店,另外两家使用Ext.js、Ember.js、Angular.js或其他一些JavaScript MVC框架。

我的回答-

业务逻辑驻留在哪里?

ASP.NET MVC

在服务器上的一个单独的层中

JavaScript MVC

理论上,在控制器上或周围.但是它不安全.

验证驻留在哪里?

ASP.NET MVC

在模型中,视图使用它简单地警告问题,控制器在尝试提交之前验证模型状态。

JavaScript MVC

在模型里但是..。好吧,在视野中,但是控制器服务于.

什么是对的?

我的问题是,与JavaScript MVC相比,在哪些方面需要在ASP.NET MVC中应用以下基本功能,哪些差异可以由事实而不是意见来支持?

类别-

业务逻辑驻留在哪里?

需要在哪里应用验证?

验证在哪里需要确认?

你还有什么别的问题要问这个吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-14 00:10:23

根据我的经验,这是我的观点,目前我正在开发一个angularjs/servicestack应用程序,所以我们开始:

这些问题没有正确的答案,但我想有更多常识的最佳答案是:)

业务逻辑驻留在哪里?--基本上可以使用MVC/php/Rails或任何其他服务器端编程语言--因为我使用的是服务栈,所以我在MVC中将所有业务操作分离开来--我称之为业务服务--它可能是相同的,记住控制器,不管您使用的是哪个框架,都是协调视图和模型之间通信的框架,我不明白为什么需要将任何逻辑放入控制器中。

关于Javascript/Server框架,我认为js是一个调用我的REST服务的客户端(或者一个带有js库/ Web的MVC应用程序,等等),Js客户机只是从服务发送/获取信息,您可以在那里执行小的客户机操作,但不能执行严格绑定到系统模型的操作,JS框架的MVC更多地是一种将关注点分离到TDD和DI (至少AngularJS)的方法。

在哪里需要应用验证?无处不在,客户端验证非常适合,因为它们给用户即时反馈,但是您也必须对服务器中的所有输入进行双重检查。

对我来说,所有的体系结构在如何组织层和层方面都是非常相似的。最后,它所改变的是如何将信息呈现给客户机,如果它没有一个漂亮的回发客户端框架,或者只是简单的视图。

只是我的两分钱,我希望这是合理的。

票数 3
EN

Stack Overflow用户

发布于 2013-08-13 16:02:40

业务逻辑客户端只是为最终用户提供方便(可能还包括性能)。

在您到达服务器之前,业务逻辑验证“不需要”应用。

一旦您命中了服务,您“必须”确认/应用业务逻辑,因为您无法真正信任您无法控制的环境。

如果我们想象我们是Gmail,那么我们就可以运行几个场景。

如果业务逻辑与任何类型的验证无关,比如弹出一个我认识的可以发送电子邮件的人的列表,那么它属于客户端。

如果业务逻辑确保某人没有在他们的电子邮件中插入某种恶意html,那么验证就需要在服务器端进行。

恶意我可以模拟对gmail的ajax调用,假装我在html中用恶意代码编写了一封电子邮件。但是Smart转过身来检查调用的内容,以确保我没有伪造一些无效的信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18212887

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档