MVC, WCF, EF, LINQ - Sou apenas eu? [fechadas]


17

... ou as coisas estão ficando mais complicadas?

Parece-me que você precisa saber muitas coisas para desenvolver 'adequadamente' um aplicativo da Web da Microsoft hoje em dia. Nos velhos tempos em que não sabíamos melhor, tínhamos tabelas de banco de dados, ASP.NET, ADO.NET e você construiu um aplicativo da Web usando conceitos relativamente simples.

Hoje em dia, parece haver muita estrutura para 'ajudar' você a fazer o 'certo', mas não estou convencido de que isso torne tudo mais fácil e melhor. Tenho a sensação de que estarei em uma minoria bem pequena com esse sentimento, mas há alguém por aí que acha que as coisas ficaram um pouco loucas?


MVC = ASP.Net, WCF = serviços Web + .Net Remoting, EF = ADO.Net, Linq é a substituição de alguns loops foreach. Agora, existem tantos frameworks quanto antes.
precisa saber é o seguinte

John, tenho que 'parcialmente' concordar com você. Atualmente, estou aprimorando minhas habilidades em .Net, certamente muito mais para passar do que cinco anos atrás.
TeaDrinkingGeek 21/03

Embora possa haver muitas tecnologias de banco de dados na arena do MS, essa questão é realmente fora de tópico neste site. Realmente não faz uma pergunta e cai diretamente no "... é uma merda, estou certo?" categoria listada no FAQ
Walter

Respostas:


17

Todas essas coisas são opcionais, use-as se forem úteis, não se não forem. É simples assim. Certamente, você pode escrever aplicativos da Web bons / adequados sem nenhum desses acrônimos em sua solução.

Pessoalmente, tenho a tendência de achar o MVC uma estrutura bastante leve e fácil de usar (muito mais fácil de começar do que formulários da web, em particular). Da mesma forma, o LINQ fornece uma maneira comum de consultar qualquer coisa; também é bom. EF e WCF e eu tivemos nossas divergências, mas quando é esse o caso, eu não as uso.


2
+1 em 'use-os se forem úteis'. Eu tento usar a regra, tente fazer 1 nova 'coisa' em cada projeto. Depois de um tempo, você terá experiência com muitas coisas e verá que as coisas estão ficando mais fáceis à medida que você as usa mais.
Jan_V

+1 a você também pela "tentativa de fazer 1 coisa nova em cada projeto". Eu gosto de aprender e crescer também.
Paul

1
Eu tento fazer uma coisa nova em cada projeto, mas isso geralmente é porque a coisa nova que aprendi último projeto é agora obsoleto :)
gbjbaanb

9

Não, na verdade não. O LINQ é a melhor coisa desde o pão fatiado ao interagir com um banco de dados.

O que você deve se lembrar é que essas coisas são construídas sobre outras coisas. O LINQ não está aumentando o número de coisas que você precisa saber para desenvolver um site ASP.NET, porque agora você não precisa conhecer o SQL. E o LINQ é OO, que está muito mais alinhado com o desenvolvimento regular de aplicativos, o que torna um shitton completo mais fácil de fazer do que o SQL e muito mais fácil de integrar ao C #.

Se você não acha que o LINQ é mais fácil que o SQL, talvez você deva postar alguns exemplos de algo mais difícil nos novos paradigmas.

Mais importante, os sites anteriores tinham muito menos funcionalidade. Como você criará novos sites com melhor desempenho, escalabilidade e oferta de novas funções no mesmo código?


4
Uma junção esquerda no LINQ é mais difícil do que no SQL. Além disso, se você estiver tentando solucionar problemas de banco de dados, acabará tendo que analisar o SQL de qualquer maneira. Além disso, conhecer o SQL o ajudará se você desejar mudar para uma plataforma de desenvolvimento que não seja da Microsoft.
btilly

10
Nenhuma estrutura ORM é tão poderosa quanto SQL. Há consultas que tenho que executar que são quase impossíveis de fazer em uma estrutura ORM.
precisa saber é o seguinte

1
@ bit-twiddler> sim, e é por isso que a maioria das estruturas ORM permite que você execute SQL bruto (ou sprocs) também. Você pode fazer com que um bom cara do C # escreva a maioria das consultas de pedestres, e especialistas em DB, como você, podem empacotar as coisas difíceis para eles em um sproc ou exibição.
Paul

1
Embora eu projete bancos de dados em larga escala e escreva uma tonelada de SQL do lado do cliente e do servidor, não sou um DBA. Eu sou um engenheiro de software. Eu nunca trabalhei em nenhum lugar onde desenvolvedores de software eram uni-qualificados. Em qualquer dia, posso escrever código em linguagem de montagem C, C ++, Java, Object Pascal, PL / SQL ou Intel (não conto HMTL, XML e CSS como linguagens de programação, porque não são Turing Complete). Também mantenho meus próprios conjuntos de ferramentas e um ambiente de teste baseado em Tomcat (todos na minha equipe têm seu próprio servidor Tomcat).
precisa saber é o seguinte

1
Gravando LINQ para interagir com um banco de dados (LINQ para SQL, LINQ para entidades) sem conhecer SQL ...? Receita para o desastre.
precisa

3

Se os conceitos antigos que você mencionou não funcionassem mais, eu concordaria que seria uma loucura, mas as novas estruturas são alternativas. A aceitação cega seria louca. Você precisa justificar. Pessoalmente, o SQL em si não é um problema para mim. Tentando adicionar algumas das funcionalidades dos sites modernos, os webforms não estão mais diminuindo.

Tenho certeza de que algumas pessoas clássicas do ASP sentiram o mesmo sobre o .NET, mas poucas podem continuar a argumentar. Eu construo alguns sites no ASP clássico e não voltaria atrás.


2

"Ficou um pouco louco". É exatamente assim que eu descreveria uma DataSetsolução ADO.NET, ASP.NET. :)

Concordo que há muito mais a aprender, mas cada uma das estruturas mencionadas melhorou o desenvolvimento do .NET.


0

Eu diria que esse é um problema global que pode afetar praticamente todas as estruturas ou plataformas (de desenvolvedor). Quando uma nova estrutura é lançada, ela geralmente parece pequena e compacta, mas com o passar do tempo e novos recursos / funcionalidades / APIs são incluídos (por roteiro / solicitação, novos conceitos / tendências / tecnologias ou simplesmente pela evolução), ela fica "inchada". Você começou com "uma maneira de fazer as coisas" e agora há mais possibilidades de escolha (e - você não sabe / não tem certeza - qual escolher). Pode ser demorado aprender coisas novas, mas elas podem oferecer soluções muito mais flexíveis / rápidas / melhores para os mesmos problemas que foram resolvidos anteriormente por um conjunto limitado de opções.

Certa vez, me deparei com uma citação engraçada - "todo código se transforma em um tempo e mãos suficientes" - que IMHO resumem por que novas coisas dentro das estruturas existentes devem surgir para trazer novas idéias para a ação e fazer a evolução.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.