MVC,WCF,EF,LINQ-是我吗?[关闭]


17

...还是事情变得越来越复杂?

在我看来,这些天您需要了解很多知识,才能“正确”开发MS Web应用程序。在糟糕的过去,我们并没有更好的了解,我们有了数据库表,ASP.NET,ADO.NET,并且您使用相对简单的概念构建了一个Web应用程序。

如今,似乎有很多框架可以“帮助”您“正确”地完成工作,但是我不认为这会使事情变得更容易和更好。我有这种感觉,我会成为少数,但是还有其他人认为事情有点发疯了吗?


MVC = ASP.Net,WCF = Web服务+ .Net Remoting,EF = ADO.Net,Linq代替了一些foreach循环。现在有和以前一样多的框架。
vortexwolf 2011年

约翰,我必须“部分”同意你的看法。我目前正在提高.Net技能,当然要比5年前更多。
TeaDrinkingGeek 2011年

尽管在MS领域中可能有很多DB技术,但是这个问题在此站点上确实是题外话。它并没有真正问一个问题,而是直截了当地说“……糟透了,对吗?” 常见问题解答中列出的rant类别
Walter

Answers:


17

所有这些都是可选的,如果有帮助,请使用它们,如果没有帮助,请不要使用它们。就这么简单。当然,您可以在解决方案中编写任何首字母缩写词的良好/适当的Web应用程序。

就个人而言,我倾向于发现MVC是一个非常轻巧且易于使用的框架(比Webforms,imo更容易上手)。同样,LINQ提供了一种查询任何内容的通用方法。也不错。EF和WCF和我有我们的分歧,但是在这种情况下,我不使用'em。


2
+1“如果有帮助,请使用它们”。我尝试使用该规则,尝试在每个项目中执行1个新的“操作”。一段时间后,您将拥有很多东西的经验,并且看到随着您使用更多东西,事情变得越来越容易。
Jan_V 2011年

也向您+1,以“在每个项目中尝试做一件新事情”。我也喜欢学习和成长。
保罗

1
我尝试在每个项目上做一件新事情,但这通常是因为我上一个项目中学到的新事物现在已经过时了:)
gbjbaanb

9

不,不是。自与数据库交互时切成薄片以来,LINQ就是最伟大的事情。

您应该记住的是,这些东西是建立在其他东西之上的。LINQ是不会增加的,你需要知道开发一个ASP.NET网站多少东西,因为现在你也不需要知道SQL。LINQ是OO,它与常规应用程序开发更加一致,这使得它比SQL更容易完成,并且与C#集成更容易。

如果您不认为LINQ比SQL容易,也许您应该发布一些新范例中较难实现的示例。

更重要的是,以前的网站功能很少。您将如何以相同的代码使新网站的性能更好,扩展性更好并提供新功能?


4
LINQ中的左联接比SQL中的左联接难。另外,如果您要对数据库问题进行故障排除,那么无论如何您都不得不看一下SQL。另外,如果您想迁移到非Microsoft开发平台,了解SQL将会为您提供帮助。
btilly 2011年

10
没有任何ORM框架像SQL一样强大。我必须执行的查询几乎是在ORM框架中无法执行的。
比特币2011年

1
@ bit-twiddler>是的,这就是为什么大多数ORM框架也允许您执行原始SQL(或sproc)的原因。您可以让一个好C#的人编写大多数行人查询,而DB专家就像您可以在存储过程或视图中为他们打包困难的东西。
保罗

1
虽然我设计大型数据库并编写大量的客户端和服务器端SQL,但我不是DBA。我是软件工程师。我从未在软件开发人员具有任何技能的地方工作过。在任何一天,我都可以用C,C ++,Java,Object Pascal,PL / SQL或Intel汇编语言编写代码(我不将HMTL,XML和CSS视为编程语言,因为它们不是Turing Complete)。我维护自己的工具集和基于Tomcat的测试环境(我团队中的每个人都有自己的Tomcat服务器)。
比特币2011年

1
编写LINQ以与数据库交互(LINQ-to-SQL,LINQ-to-Entities)而无需了解SQL ...?灾难食谱。
柯克·布罗德赫斯特

3

如果您提到的旧概念不再起作用,那么我会认为这很疯狂,但是新的框架是替代的。盲目接受会很生气。您需要证明。就我个人而言,SQL本身对我来说不是问题。尝试添加现代网站的某些功能时,webforms不再适用。

我敢肯定,一些经典的ASP人士对.NET也有相同的看法,但是很少有人可以继续提出这一论点。我在经典ASP中建立了几个站点,并且不再回头。


2

“有点生气”。这正是我描述DataSetADO.NET,ASP.NET解决方案的方式。:)

我同意还有很多东西要学习,但是您提到的每个框架都使.NET开发变得更好。


0

我要说的是,这是一个全球性问题,几乎可以影响每个框架或(开发人员)平台。当发布新框架时,它看起来通常很小且紧凑,但是随着时间的流逝,包括新特性/功能/ API(通过路线图/请求,新概念/趋势/技术或仅通过演进),它变得“ blo肿”。您从“做事的一种方式”开始,现在有更多的可能性可供选择(而且-您不知道/不确定-选择哪种)。学习新事物可能很耗时,但是它们可以为以前通过有限的选项集解决的相同问题提供更灵活/更快/更好的解决方案。

我曾经偶然发现一个有趣的报价-“所有代码都花了足够的时间和精力” – IMHO总结了为什么应该在现有框架中出现新的东西以将新鲜的想法付诸实践并进行发展。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.