Рубрика «Visual Studio» - 47

Введение

Всем привет! Прошло примерно 1.5 года с момента последнего обновления моего расширения Regex Tester, ранее я уже писал посты про его создание и обновление. После этого я перестал следить за судьбой расширения и отвечать на вопросы в галереи. На работе последние 3 года я востребован как Java-разработчик, за .NET-ом и C# уже не слежу особо и думал, что без моей поддержки расширение загнется и другие решения станут популярнее. Пару месяцев назад один коллега напомнил мне про него и попросил добавить поддержку для VS 2012. Данное напоминание подтолкнуло меня зайти в галерею и проверить его текущее состояние. Я был шокирован, так как по тегам: «Regular Expression» и «RegEx» оно было на первом месте по популярности, а количество скачиваний около 30 тысяч.
Читать полностью »

image

Подключайтесь к прямой онлайн трансляции Visual Studio 2013 5 июля

Начало в 10:00; Бесплатно

В рамках специальной конференции ведущие эксперты Microsoft познакомят вас с новыми инструментами разработки и тестирования Visual Studio 2013. На конференции мы расскажем последние новости из мира разработки приложений, которые вы сможете создавать в Visual Studio 2013, а также представим последние технологии управления жизненным циклом приложений на базе Team Foundation Server 2013.

Основные темы конференции:
• Знакомство с Visual Studio 2013
• Разработка современных приложений для Windows, Веб и Облака.
• Управление проектами на базе Team Foundation Server 2013
• Обеспечение качества, нагрузочное тестирование и эксплуатация

Целевая аудитория
• Разработчики
• Руководители групп разработки
• Руководители проектов
• QA менеджеры

Смотреть трансляцию 5 июля в 10:00

Читать полностью »

В этой заметке мы поговорим про доступность новых продуктов Microsoft Windows Server 2012 R2, SQL Server 2014 и Visual Studio 2013 Ultimate в галерее виртуальных машин Windows Azure, где каждый желающий может попробовать новинки без установки на свой компьютер.

Читать полностью »

Выпущена предварительная версия Visual Studio 2013Несколько недель назад на конференции Teched North America 2013 был сделан анонс Visual Studio 2013, и было рассказано о некоторых новых возможностях этой среды. Вчера, на конференции Build 2013 было объявлено о доступности предварительной версии Visual Studio 2013, Net Framework 4.5.1 и Team Foundation Server 2013 которые вы можете загрузить уже сейчас.
Читать полностью »

Впервые! Подписка MSDN стала доступна для ИТ-специалистов!
image
Мы рады сообщить, что впервые ИТ-специалисты получили доступ практически ко всему ПО Microsoft, которое теперь можно применять не только для знакомства с ПО, но и для решения различных задач в непроизводственной среде: эмуляция производственной инфраструктуры, тестовые стенды, опытная эксплуатация, изучение продуктов и т.п. Подписка MSDN включает все права и возможности, ранее доступные только разработчикам, без необходимости покупки Visual Studio.

Подписчики MSDN Platforms получают:
Читать полностью »

Как вы наверное знаете, мы уже достаточно давно работаем над 8й версией ReSharper — в процессе разработки мы улучшили навигацию, расширили поддержку XAML, добавили свой собственный механизм посмотра зависимостей между проектами, и добавили еще много нового и интересного функционала.

Но сейчас я хочу рассказать про нечто за гранью наших планов по 8-ке: уже несколько месяцев часть нашей команды работает над чем-то абсолютно новым, чего уже годы просили наши пользователи — поддержкой в ReSharper языка программирования C++.

Читать полностью »

image

Уважаемые коллеги, представляю вашему вниманию подборку любопытных и, надеюсь, полезных для вас статей, опубликованных на MSDN за май и июнь этого года.

Visual Studio 2012 & SharePoint

image
29-30 мая в Подмосковье, в традиционном загородном формате, прошла крупная конференция для разработчиков и тестировщиков ПО – DevCon 2013. Вы можете посмотреть отчетный ролик о конференции на TechDays.ru и еще раз погрузиться в воспоминания о том, как это было, быть может, вы даже найдете там себя или своих друзей.Читать полностью »

Оглавление

  1. Введение
  2. Инициализация приложений Prism
  3. Управление зависимостями между компонентами
  4. Разработка модульных приложений
  5. Реализация паттерна MVVM
  6. Продвинутые сценарии MVVM
  7. Создание пользовательского интерфейса
    1. Рекомендации по разработке пользовательского интерфейса
  8. Навигация
    1. Навигация на основе представлений (View-Based Navigation)
  9. Взаимодействие между слабо связанными компонентами

При создании большого и сложного приложения, обычным подходом является разделение функциональности по отдельным модулям. Также желательно минимизировать количество статических ссылок между этими модулями. Благодаря этому, модули можно будет независимо разрабатывать, тестировать, развёртывать и обновлять. Всё это ведёт к необходимости модулей взаимодействовать друг с другом слабо связанным образом.

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

  • Использование команд (Solution commanding). Используйте для реагирования на действия пользователя.
  • Контекст региона (Region context). Используйте для передачи контекстной информации от host-элемента управления к представлениями в регионе. Этот подход в некотором роде аналогичен DataContext, но не полагается на него.
  • Общие службы (Shared services). Вы можете вызвать метод на сервисе, который, в свою очередь, сгенерирует событие, на которое могут быть подписаны получатели. Используйте этот подход в том случае, если все остальные подходы не применимы.
  • Агрегация событий (Event aggregation). Для передачи сообщений между моделями представлений, презентерами, или контроллерами при отсутствии ожиданий о непосредственной реакции на сообщение.

Читать полностью »

Оглавление

  1. Введение
  2. Инициализация приложений Prism
  3. Управление зависимостями между компонентами
  4. Разработка модульных приложений
  5. Реализация паттерна MVVM
  6. Продвинутые сценарии MVVM
  7. Создание пользовательского интерфейса
    1. Рекомендации по разработке пользовательского интерфейса
  8. Навигация
    1. Навигация на основе представлений (View-Based Navigation)
  9. Способы коммуникации между слабосвязанными компонентами

Навигация на основе представлений (View-Based Navigation)

Несмотря на то, что навигация на основе состояний может быть полезна в сценариях, описанных ранее, тем не менее, навигация в приложении часто требует замены одного представления на другое. В Prism, такой вид навигации называется «навигация на основе представлений (view-based navigation)».

В зависимости от требований к приложению, процесс навигации может быть довольно сложным и требующим аккуратной координации. Ниже перечислены некоторые из трудностей, с которыми можно столкнуться при реализации навигации на основе представлений:

  • Цель навигации — контейнер для добавляемых, или удаляемых представлений — может обрабатывать навигацию разными способами при добавлении и удалении представлений, или может визуализировать процесс навигации по-разному. Во многих случаях, целью навигации является обычный Frame, или ContentControl, и представления просто отображаются внутри этих элементов управления. Однако существует множество сценариев, когда целью навигации является другой вид элементов управления, таких как TabControl, или ListBox. В таких случаях, навигация может потребовать активации или выделения уже существующего представления, или добавление нового представления.
  • Приложению часто будет требоваться, каким-либо образом идентифицировать представление, к которому должна быть выполнена навигация. Для примера, в web-приложениях, страница, к которой выполняется навигация, напрямую идентифицируется по URI. В клиентских приложениях, представление может быть идентифицировано по имени его типа, по расположению файла ресурсов, или множеством других способов. В составных приложениях, состоящих из слабо связанных модулей, представления зачастую определены в раздельных модулях. Отдельные представления, в таких случаях, должны иметь возможность быть идентифицированы без создания дополнительных зависимостей между модулями.
  • После идентификации представления, процесс его создания и инициализации должен быть тщательно скоординирован. Это особенно важно при использовании паттерна MVVM. В таком случае, представления и соответствующая модель представления должны быть созданы и ассоциированы друг с другом во время совершения навигации. В случае использования контейнера внедрения зависимостей, такого как Unity, или MEF, при создании модели представления и/или представления может потребоваться использование особого механизма конструирования.
  • MVVM паттерн позволяет отделить UI приложения от его логики взаимодействия с пользователем и бизнес-логики. Однако процесс навигации может охватывать как UI, так и логику приложения. Пользователь может начать навигацию внутри представления, в результате чего представление будет обновлено. Но часто будет требоваться возможность инициировать и скоординировать навигацию из модели представления. Важным аспектом для рассмотрения, является способность чётко разделить навигационное поведение между представлением и моделью представления.
  • Приложению часто может потребоваться передавать параметры, или контекст, представлению для его корректной инициализации. Для примера, если пользователь производит навигацию к представлению для редактирования информации о выбранном клиенте, ID этого клиента, или его данные, должны быть переданы в представление, для отображения в нем корректной информации.
  • Многим приложениям необходимо тщательно координировать навигацию для уверенности, что будут выполнены определённые бизнес-требования. К примеру, пользователю может быть показано всплывающее сообщение о некорректности введённых им данных, во время попытки навигации к другому представлению. Этот процесс требует координации между предыдущим и новым представлениями.
  • Наконец, большинство современных приложений позволяют пользователю производить навигацию к предыдущему, или к следующему представлению. Аналогично, некоторые приложения реализуют свой рабочий процесс, используя последовательность представлений, или форм и позволяют пользователю производить по ним навигацию вперёд или назад, добавляя или редактируя данные, перед тем, как завершить задачу и отправить все сделанные изменения одним пакетом. Такие сценарии требуют некоторого механизма журналирования, для того, чтобы последовательность навигации могла быть сохранена, повторена, или предопределена.

Prism предоставляет руководство по решению этих проблем, расширяя механизм регионов для поддержки навигации. Следующие разделы содержат краткую сводку о регионах Prism и рассказывают о том, как они были расширены для поддержки навигации на основе представлений.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js