MVC, WCF, EF, LINQ - это только я? [закрыто]


17

... или все усложняется?

Мне кажется, что для того, чтобы «правильно» разработать веб-приложение для MS в наши дни, нужно много чего знать. В старые добрые времена, когда мы не знали ничего лучшего, у нас были таблицы баз данных, ASP.NET, ADO.NET, и вы создавали веб-приложение, используя относительно простые концепции.

В наши дни, кажется, существует множество рамок, чтобы «помочь» вам сделать это «правильно», но я не уверен, что это делает все проще и лучше. У меня есть ощущение, что я буду в довольно небольшом меньшинстве с этим чувством, но есть ли кто-нибудь еще, кто думает, что все стало немного сумасшедшим?


MVC = ASP.Net, WCF = веб-сервисы + .Net Remoting, EF = ADO.Net, Linq - замена некоторых циклов foreach. Теперь существует столько же фреймворков, что и раньше.
vortexwolf

Джон, я должен «частично» согласиться с тобой. В настоящее время я совершенствую свои навыки .Net, конечно, гораздо больше, чем 5 лет назад.
TeaDrinkingGeek

Хотя на арене MS может быть много технологий БД, этот вопрос действительно не по теме на этом сайте. Он на самом деле не задает вопрос и прямо попадает в "... отстой, я прав?" категория разглагольствования, перечисленная в FAQ
Walter

Ответы:


17

Все эти вещи необязательны, используйте их, если они полезны, не делайте, если они нет. Это так просто. Вы, конечно, можете написать хорошие / правильные веб-приложения без этих сокращений в своем решении.

Лично я склонен находить MVC довольно легковесным и простым в использовании фреймворком (гораздо легче начать работу, чем веб-формы, imo). Аналогично, LINQ предоставляет общий способ запроса чего-либо; тоже хорошо. У EF и WCF и у меня были наши разногласия, но когда это так, я их не использую.


2
+1 на «использовать их, если они полезны». Я пытаюсь использовать правило, стараюсь сделать 1 новую «вещь» в каждом проекте. Через некоторое время вы будете иметь опыт работы со многими вещами и увидите, что все становится проще, когда вы используете его больше.
Jan_V

+1 вам также за «попробуйте сделать 1 новую вещь в каждом проекте». Мне также нравится учиться и расти.
Пол

1
Я пытаюсь сделать 1 новую вещь для каждого проекта, но обычно это происходит потому, что новая вещь, которую я узнал в прошлом проекте, теперь устарела :)
gbjbaanb

9

Нет, не совсем. LINQ - величайшая вещь, так как нарезанный хлеб при взаимодействии с базой данных.

То, что вы должны помнить, это то, что эти вещи построены на других вещах. LINQ не добавляет количества вещей, которые вам нужно знать для разработки веб-сайта ASP.NET, потому что теперь вам не нужно знать SQL. И LINQ - это OO, что намного больше соответствует обычной разработке приложений, что делает его проще, чем SQL, и намного проще интегрировать с C #.

Если вы не думаете, что LINQ проще, чем SQL, возможно, вам следует опубликовать несколько примеров чего-то более сложного в новых парадигмах.

Что еще более важно, ранее веб-сайты имели гораздо меньше функциональности. Как вы собираетесь создавать новые веб-сайты, которые работают лучше, масштабируются лучше и предлагают новые функции в том же коде?


4
Левое соединение в LINQ сложнее, чем в SQL. Также, если вы пытаетесь устранить проблемы с базой данных, вам все равно придется посмотреть на SQL. Кроме того, знание SQL поможет вам, если вы когда-нибудь захотите перейти на платформу разработки не от Microsoft.
Btilly

10
Ни один ORM-фреймворк не является таким мощным, как SQL. Есть запросы, которые я должен выполнить, которые практически невозможно выполнить в среде ORM.
bit-twiddler

1
@ bit-twiddler> да, и именно поэтому большинство платформ ORM также позволяют выполнять сырой SQL (или sprocs). У вас может быть хороший парень на C #, который пишет большинство пешеходных запросов, а эксперты по БД, такие как вы, могут упаковать для них сложные вещи в виде sproc или view.
Пол

1
Хотя я проектирую большие базы данных и пишу тонну клиентского и серверного SQL, я не администратор баз данных. Я инженер-программист. Я никогда не работал где-то там, где разработчики программного обеспечения были бы опытными. В любой день я могу писать код на C, C ++, Java, Object Pascal, PL / SQL или языке ассемблера Intel (я не считаю HMTL, XML и CSS языками программирования, поскольку они не являются Turing Complete). Я также поддерживаю свои собственные наборы инструментов и среду тестирования на основе Tomcat (у каждого в моей команде есть свой собственный сервер Tomcat).
bit-twiddler

1
Написание LINQ для взаимодействия с базой данных (LINQ-to-SQL, LINQ-to-Entities) без знания SQL ...? Путь к катастрофе.
Кирк Бродхерст

3

Если бы старые концепции, о которых вы упомянули, больше не работали, я бы согласился, что это было бы безумием, но более новые структуры являются альтернативой. Слепое принятие было бы безумием. Вы должны оправдать. Лично SQL сам по себе не проблема для меня. Пытаясь добавить некоторые функциональные возможности современных веб-сайтов, веб-формы больше не сокращают его.

Я уверен, что некоторые классические ASP чувствовали то же самое по отношению к .NET, но немногие могут продолжать выдвигать этот аргумент. Я строю пару сайтов в классическом ASP и не вернусь.


2

"Немного сошел с ума". Именно так я бы описал DataSetрешение ADO.NET, ASP.NET. :)

Я согласен, что есть чему поучиться, но каждая из упомянутых вами фреймворков сделала разработку .NET лучше.


0

Я бы сказал, что это глобальная проблема, которая может затронуть практически все фреймворки или (разработчики) платформы. Когда выпускается новый фреймворк, он выглядит обычно небольшим и компактным, но с течением времени и включением новых функций / функциональных возможностей / API-интерфейсов (либо по дорожной карте / запросу, новым концепциям / тенденциям / технологиям, либо просто по мере эволюции) он становится «раздутым». Вы начали с «одного способа ведения дел», и теперь есть больше возможностей, из которых вы можете выбрать (и - вы не знаете / не уверены - какой выбрать). Изучение новых вещей может занимать много времени, однако они могут предложить вам гораздо более гибкие / быстрые / лучшие решения тех же проблем, которые ранее решались ограниченным набором опций.

Однажды я наткнулся на забавную цитату - «весь код превращается в s #! T при наличии достаточного количества времени и рук», - которые ИМХО резюмируют, почему должны появиться новые вещи в существующих рамках для воплощения новых идей в жизнь и развития.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.