Убедите меня перемещаться в .net 3.5 (от 2,0) [закрытый]

Да, Microsoft имеет Механизм бизнес-правила (BRE) в BizTalk, который использовался успешно в течение многих лет. Я услышал, что они сделали, чтобы клиенты купили BizTalk (очень дорогой) только для BRE.

, По моему опыту, практичность наличия обновления бизнес-пользователя правила не является тонкой ни к одному. Это обычно берет технического человека для работы редактора бизнес-правил.

28
задан Daniel Mošmondor 1 September 2009 в 00:01
поделиться

19 ответов

Одно слово:

Linq

После того, как вы выполнили один запрос на своем объекты, использующие Linq, вы никогда не вернетесь. Linq - это не просто базы данных, у вас может быть любая коллекция, и если вы можете выразить себя функционально, вы можете изменить

foreach (obj in myCollection)
{
   if (obj.property == match)
   {
      foundObj = obj;
      break;
   }
}

на

myCollection.Single(obj => obj.property == match);

EDIT: OR

var foundobj = 
(from obj in myCollection
where obj.property == match)
.Single()

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

Извините за напыщенную речь, но мне действительно нравится Linq.

54
ответ дан 28 November 2019 в 02:16
поделиться

В настоящий момент я использую 3.5 для своего основного проекта, и у него очень много преимуществ. LINQ, Entity Framework, WPF (особенно для привязки данных), LINQ, методы расширения, автоматические свойства, LINQ, ну и лямбда-выражения (это круто)! И я упоминал LINQ?

При этом я все еще использую .NET 2.0 для небольших проектов, где нет большого количества кода или чего-то особенного, например, утилит преобразования файлов или небольшого инструмента, лежащего на панели задач всего за несколько задачи.

Я всегда использую самую низкую версию фреймворка, которую могу, если она соответствует всем моим требованиям. Так что, если это всего лишь небольшой инструмент, я могу использовать 2.0, если мне нужен хороший интерфейс, я использую 3.0, а если нужно много работы с базами данных, я использую 3.5 SP1 с Entity Framework.

0
ответ дан 28 November 2019 в 02:16
поделиться

Прочитать этот блог http://weblogs.asp.net/scottgu/archive/2007/11/19/visual-studio-2008-and-net-3-5- Release.aspx

Отсюда вы получите лучшее представление о .Net 3.5 и VS 2008.

Причина выхода более поздней версии заключается в том, что более высокая версия упрощает разработку и также имеет высокую производительность :)

0
ответ дан 28 November 2019 в 02:16
поделиться

Я считаю, что класс DecimalFormat (и тег Grails formatNumber по расширению) немного непрозрачен для определенных случаев использования, и я до сих пор не нашел разумного способа выполнить довольно простое форматирование без некрасивая предварительная обработка для генерации соответствующей строки формата. Несколько месяцев назад я собрал простой тег форматирования числа, который, по сути, создает строку формата и выполняет некоторую минимальную обработку самого числа.

Это не так универсально и элегантно, как хотелось бы (это все, что нам было нужно в то время - он супер простой, но он по-прежнему сохраняет некоторую некрасивую обработку в GSP), но его должно быть легко читать, и очевидно, что его можно тривиально улучшить (например, сделать масштабирование итеративным, а не наивным if-elseif, позволяющим пользователю передать пользовательские маркеры масштабирования,

0
ответ дан 28 November 2019 в 02:16
поделиться

Разве просьба не должна быть такой: «Убедите моих пользователей / клиентов перейти с .NET 2.0 на 3.5»

Вы не сказали, являетесь ли вы написание кода для клиента / пользователя или просто для хобби. Если последнее, то да, главное - убедить вас.

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

Конечно, если вы опытный разработчик 2.0, вы, скорее всего, уже очень эффективны даже без лямбда-выражений, синтаксиса запросов и т. Д. Конечно, они могут дать некоторые улучшения, но, вероятно, недостаточно, чтобы заинтересовать вашего клиента.

Теперь, если ваш клиент приходит к вам и говорит, Я хочу, чтобы у моего нового настольного приложения был графический интерфейс, как у одной из тех веб-страниц с красивой анимацией и т. Д., Тогда это очевидно. Вам следует серьезно подумать о переходе на .NET 3.0 / 3.5 для Windows Presentation Foundation и т. Д.

Таким образом, если есть реальная и ощутимая причина для использования более новых технологий, сделайте это, в противном случае быстро освоиться с новой платформой / средой без прямой выгоды.

1
ответ дан 28 November 2019 в 02:16
поделиться

Если вы создаете или используете веб-службы, вы должны знать, что Microsoft теперь считает веб-службы ASMX «устаревшей технологией». Вся разработка новых веб-сервисов должна осуществляться с использованием WCF, который недоступен до .NET 3.0 и становится достаточно зрелым и стабильным в .NET 3.5.

1
ответ дан 28 November 2019 в 02:16
поделиться

Я не буду убеждать вас переходить на 3.5, если вы создаете настольные приложения для аудитории, для которой обновление будет обременительным (например, пользователи до Vista, использующие медленные соединения). В конце концов, клиент приходит первым.

Как упоминалось несколькими другими, вы можете использовать многие новые функции компилятора C #, даже если вы нацеливаетесь на 2.0 (например, инициализаторы объектов, автоматические свойства), проверьте это для Детали. Кроме того, вы можете использовать LINQ в версии 2.0, используя библиотеку LinqBridge , которая очень мала и может распространяться вместе с вашим приложением (это Linq to Objects, а не Linq to SQL)

1
ответ дан 28 November 2019 в 02:16
поделиться

Чаще всего я использую следующие функции:

  • LINQ
  • Методы расширения
  • Автоматические свойства

Если вы не использовали LINQ и попробуете его, я думаю вы обнаружите, что это (может быть) очень мощный инструмент.

1
ответ дан 28 November 2019 в 02:16
поделиться

Насколько далеко вы готовы быть? .NET 4 скоро появится. Облачные (через Azure или даже Live Mesh) вычисления - это следующая волна, поэтому вы, вероятно, захотите быть готовыми к сетевому подключению, зная WCF.

Если вы не хотите изучать новый материал, тогда вам придется по-прежнему сможете создавать хорошие настольные приложения с помощью 2.0. Но отчасти разработчик понимает, что будет дальше. Даже если вы не выбрали таргетинг на более позднюю версию платформы, вам следует хотя бы потратить некоторое время на то, чтобы немного изучить LINQ, WPF и WCF, чтобы знать их возможности. Затем, когда вам понадобится что-то, что доступно только в более поздней версии фреймворка, вы будете знать, почему вы его используете, а также сможете обосновать загрузку фреймворка для своих клиентов.

1
ответ дан 28 November 2019 в 02:16
поделиться

Я знаю разных людей, которые чувствуют себя как дома с C, сборкой 8086, APL, перфокартами и передними тумблерами (не шучу). Они приводят те же причины, что и вы.

Посоветуете ли вы программисту на ассемблере попробовать C # 2.0? Если это так, возможно, вам стоит попробовать C # 3.5 по тем же причинам. Если нет, продолжайте наслаждаться C # 2.0 и знайте, что однажды люди увидят вас так же, как мы видим программистов на ассемблере сегодня. : -)

C # 3.5 намного лучше позволяет создавать абстракции более высокого уровня, чем C # 2.0, точно так же, как C # 2.0 лучше в этом, чем C, и C, чем сборка. В конце концов, не поэтому ли мы вообще программируем на HLL?

2
ответ дан 28 November 2019 в 02:16
поделиться

Если вам не нужно использовать какие-либо функции 3.5, не волнуйтесь, это всего лишь добавление новых библиотек Framework, CLR и CLI не изменились, поэтому все, что вы пишете, будь то использование фреймворков из версий 2.0, 3.0 или 3.5, заканчивается одним и тем же кодом IL. Зная это, если в какой-то момент в будущем вы решите, что действительно хотите добавить в свое приложение некоторые функции 3.5, вы можете сделать это, зная, что не будет проблем с миграцией (например, при обновлении с 1.1 до 2.0), как и все вы на самом деле это означает, что Visual Studio «позволит вам добавить библиотеки DLL 3.0 / 3.5» в ваш проект. Конечно, вам нужно будет убедиться, что у ваших пользователей установлен .net 3.0 / 3.5.

2
ответ дан 28 November 2019 в 02:16
поделиться

Я бы обновил только лямбды!

SaveButton.Click += new EventHandler((sender, e) => this.Save());
3
ответ дан 28 November 2019 в 02:16
поделиться

В C # 3.0 есть несколько действительно хороших функций, таких как автоматические свойства и инициализаторы коллекций - и то, и другое действительно очистите свой код. Linq также хорош при работе с коллекциями, лямбда-выражения тоже хороши.

.NET 3.5 также входит в состав Windows 7.

Вопрос - почему нет?

7
ответ дан 28 November 2019 в 02:16
поделиться

Если вам не нужен LINQ, вы не хотите WPF (или WCF) и не любите расширенное использование дженериков, простой ответ: не делайте этого!

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

Так что, если вы полностью довольны версией 2.0 и никогда не говорили: «Я бы хотел просто ... xyz», я предлагаю вам остаться там, где вы ар.

7
ответ дан 28 November 2019 в 02:16
поделиться

Переход с .NET 2.0 на .NET 3.5 даже не должен быть соображение. Вот несколько причин, почему

  • .NET 3.5 полностью обратно совместим с .NET 2.0, поскольку построен на том же ядре. 3.0 и 3.5 являются просто расширениями версии 2.0.
  • LINQ - Вы можете использовать Linq даже без использования баз данных. Он меняет все. Сама по себе эта функция стоит того.
  • Лямбда-выражения - Мощные возможности поиска в коллекции. Относится к LINQ.
  • Анонимные методы - Создаваемые методы без полного их определения.
  • Анонимные типы
  • Windows Workflow Foundation - Создание рабочих процессов.
  • Windows Presentation Foundation - Заменяет устаревшие формы Windows Forms - Тем не менее, может использоваться с существующими WinForms.
  • Silverlight - Уменьшенная версия WPF для веб-приложений. Аналогично Flash.
  • Windows Communication Foundation - заменяет традиционные компоненты удаленного взаимодействия и веб-служб гораздо более надежной инфраструктурой
  • Для веб-разработки - ASP.NET MVC Framework - ЛУЧШЕЕ !!!!

Без .NET 3.5, вы многое упускаете. Шутки в сторону. Сделай прыжок. Вы будете рады, что сделали.

  • Windows Presentation Foundation - заменяет устаревшие формы Windows Forms - все же может использоваться с существующими WinForms.
  • Silverlight - уменьшенная версия WPF для веб-приложений. Аналогично Flash.
  • Windows Communication Foundation - заменяет традиционные компоненты удаленного взаимодействия и веб-служб гораздо более надежной инфраструктурой
  • Для веб-разработки - ASP.NET MVC Framework - ЛУЧШЕЕ !!!!
  • Без .NET 3.5, вы многое упускаете. Шутки в сторону. Сделай прыжок. Вы будете рады, что сделали это.

  • Windows Presentation Foundation - заменяет устаревшие формы Windows Forms - все еще может использоваться с существующими WinForms.
  • Silverlight - уменьшенная версия WPF для веб-приложений. Аналогично Flash.
  • Windows Communication Foundation - заменяет традиционные компоненты удаленного взаимодействия и веб-служб гораздо более надежной инфраструктурой
  • Для веб-разработки - ASP.NET MVC Framework - ЛУЧШЕЕ !!!!
  • Без .NET 3.5, вы многое упускаете. Шутки в сторону. Сделай прыжок. Вы будете рады, что сделали.

    вы многое упускаете. Шутки в сторону. Сделай прыжок. Вы будете рады, что сделали.

    вы многое упускаете. Шутки в сторону. Сделай прыжок. Вы будете рады, что сделали это.

    8
    ответ дан 28 November 2019 в 02:16
    поделиться

    Предположение: вы работаете с Visual Studio 2005 и .NET 2.0.

    Причина № 1 : Vista включает .NET 3.0 как часть установки ОС; Windows 7 включает .NET 3.5

    Причина № 2 : существуют способы нацелить на .NET 2.0 с помощью Visual Studio 2008 (и VS 2010), чтобы вы могли извлечь выгоду из продуктивных «плюшек» этих инструментов, не отказываясь от .NET. 2.0, а затем переходите на .NET 2+, когда будете готовы. (Visual Studio может помочь вам избежать сборок не .NET 2.0 при написании кода.)

    Причина № 3 : методы расширения, особенно статический класс Enumerable . Технически, это часть Linq, но это хороший способ писать код чисто, ясно и более удобным в обслуживании способом.

    Причина № 4 : Исправлены ошибки в платформе .NET 2.0. Помните, что .NET 3.0 и .NET 3.5 по-прежнему используют то же самое. NET 2.0 под капотом - они просто добавляют новые фреймворки / библиотеки и некоторые уловки компилятора. В среде выполнения было исправлено тонна ошибок, которые вы упускаете.

    14
    ответ дан 28 November 2019 в 02:16
    поделиться

    Одной из причин не использовать 3.5 является Mono.

    Сегодня Mono API находится где-то в между .NET 2.0 и .NET 3.5 см. наш Дорожная карта для получения подробной информации о том, что реализовано.

    Взято из здесь .

    Другая причина заключается в том, что Winforms практически не продвинулся вперед, поэтому вы можете подождать, пока 4. что-нибудь не появится, прежде чем прыгать.

    Насколько я понимаю, некоторые вещи, такие как LINQ, могут прекрасно использоваться с .Net 2.0, поскольку это всего лишь библиотека.

    8
    ответ дан 28 November 2019 в 02:16
    поделиться

    Кажется, теперь каждое приложение должно взаимодействовать с другими приложениями. Итак,

    • WCF

    Написав в прошлом коммуникационную библиотеку TCP, я был бы взволнован, вне себя от радости, в восторге и в остальном вполне счастлив, если бы мне удалось сэкономить эти месяцы, проведя один день с WCF.

    2
    ответ дан 28 November 2019 в 02:16
    поделиться

    Если честно, при чтении большинства ответов они приводят в основном причины, связанные с улучшением языка. Но если вам это не нужно, у меня возникнет соблазн придерживаться версии 2.0 по той причине, по которой вы указываете, т.е. широкая доступность, и избежать кошмара совместимости платформ, который мы здесь встретили ....

    1
    ответ дан 28 November 2019 в 02:16
    поделиться
    Другие вопросы по тегам:

    Похожие вопросы: