четверг, 2 февраля 2012 г.

Набор полезных ReSharper Live Templates для Unit Test NUnit и не только

 
Тем кто использует Resharper должно быть известно что такое Live Templates и как они помогают при работе с кодом. Кто не знает в кратце скажу что это готовые шаблоны фрагментов кода которые вы создаете и привязав к определенной аббревиатуре далее когда надо быстро написать этот кусчек кода вы просто набираете аббревиатуру нужного Code Snippet-а нажимаете Enter и фрагмент кода будет добавлен, . В Visual Studio есть определенный набор  Code Snippet, но Live Templates от ReSharper  более продвинутые в том плане что в зависимости от контекста ReSharper может предугадать какие переменные, типы можно использовать в Live Template.



четверг, 15 сентября 2011 г.

Построение Progressive Fluent Interface

            В данном посте я бы хотел как построить Progressive Fluent Interface в применении к паттерну Fluent Builder.
            Применение Fluent Interface с паттерном Builder позволяет создавать выразительное и читабельное  API для построения сложных объектов.
  Подробнее том что такое Fluent Interface и Fluent Builder можно прочесть в статье Martin Fowler Fluent Interface и  здесь.

            Построение Progressive Interface рассмотрим на примере Fluent Builder для построения Email сообщений вот код данного класса
    public class EmailBuilder : IEmailBuilder
    {
        private readonly Message message;

        private EmailBuilder(Message message)
        {
            this.message = message;
        }

        public static IEmailBuilder From(string from)
        {
            return new EmailBuilder(new Message(from));
        }

        public IEmailBuilder To(string to)
        {
            message.To.Add(to);
            return this;
        }

        public IEmailBuilder Subject(string subject)
        {
            message.Subject = subject;
            return this;
        }

        public IEmailBuilder Body(string body)
        {
            message.Body = body;
            return this;
        }

        public IEmailBuilder Cc(string cc)
        {
            message.Cc.Add(cc);
            return this;
        }

        public Message Build()
        {
            return message;
        }
    }

понедельник, 5 сентября 2011 г.

Сдача сертификационного экзамена MCPD Microsoft 70-519 Pro: Designing and Developing Web Applications Using Microsoft .NET Framework 4.

Сдав последний экзамен из серии MCTS 70-513, сдал экзамен на получение статуса MCPD.
Сразу скажу что сдал экзамен на отлично. Фактически к данному экзамену не готовился так как данный экзамен включает в себя знания из прошлых экзаменов.
Экзамен 70-519 включает в себя 2 case study один на 8 другой на 11 вопросов, и набор из 32 основных вопросов.  Времени на все про все дается предостаточно около 4 часов так что не торопитесь при ответе на вопросы времени хватит.
Case study это набор связанных вопросов к определенному техническому заданию.
Сначала дается описание текущей ситуации, далее что надо изменить чтобы система (приложение) удовлетворяла новым требованиям.
По тематики вопросы покрывают следующие аспекты:
1.      Архитектура приложений
2.      Выбор технологий для Server side  ASP.NET MVC  EF WCF
3.      Выбор технологий Client side AJAX, jQuery, Silverlight
4.      Построение и выбор технологий слоя доступа к данным здесь Entity Framework WCF, ASP.Net Web Services
5.      Развертывание и конфигурация Web приложений например развертывание на IIS
6.      Безопасность приложений аутентификация авторизация и т д
Более детально по тематике можно прочесть здесь
            Вопросы были как и по ASP.NET MVC так и по Entity Framework, были также смежные вопросы но вопросы не только на чистое знание но и на понимание и как вы поступите в данной ситуации. Были вопросы связанные с архитектурой приложения например в приложении ASP.NET MVC изменилась модель данных какой слой и какие классы надо изменить для поддержки данных изменений. В общем вопросы были интереснее и легче на мой взгляд. Если у кого какие есть вопросы пишите.

четверг, 14 июля 2011 г.

Как правильнее осуществить проверку бизнес правил в ASP.NET MVC приложении?

            Данный пост является скорее всего темой для обсуждения, а не готовым решением хотелось бы выяснить у кого какие мнения и решения на данный счет.
При разработки ASP.NET MVC приложения столкнулся со следующей задачей опишу  вкратце.
Приложение ASP.NET MVC имеет архитектуру из 3 слоев.
1. Data Access (Repositories)
2. Business logic (Services)
3. Application layer (Controllers)
            Имеется класс Learner который представляет собой сущность ученика, ученики могут сдавать экзамены, при сдаче экзамена, создается заказ (Order  класс), после сдачи экзамена, для каждого ученика необходимо выставить результирующие оценки. При выставлении результатов необходимо проверить следующие правила
1.      Результаты не должны быть уже выставлены
2.      Все ученики которые имеют статус Present (присутствовал на экзамене) должны иметь оценку
3.      Оценочная шкала должна быть подтверждена.

среда, 13 июля 2011 г.

Сдача сертификационного экзамена MCTS Microsoft 70-513 WCF Development with Microsoft .NET Framework 4.

В июне сдал сертификационный экзамен Microsoft 70-513.
В отличие от предыдущего экзамена 70-516 вопросов было меньше, а именно 46, времени соответственно тоже меньше давалось около полтора часа. Вопросы были в основном на знание:
1.       Создание WCF- сервисов
2.       Описание контрактов
3.       Конфигурирование WCF- сервисов
4.       Конфигурирование end-point
5.       Хостинг WCF- сервисов
6.       Безопасность
В целом экзамен сдал успешно хоть и вопросы показались сложными.
Если у кого есть вопросы спрашивайте отвечу.

понедельник, 11 июля 2011 г.

Поиск Work Items в TFS Visual Studio.


                На работе используем Visual Studio 2010 и систему контроля версий  TFS и очень часто необходимо найти тот или иной Work Item например по названию или слову в тексте это все можно сделать с помощью queries, но это не удобно,  хотелось что-то по удобнее и легче в использовании. Немного поискав в интернете нашел add-in который и решает данную задачу.

среда, 6 июля 2011 г.

ReSharper 6.0 вышел в релиз.

   Вчера вышел в релиз версию Resharper 6.0. Что нового в данном релизе?
Была добавлена поддержка трех языков: JavaScript, CSS и HTML плюс ASP.NET MVC 3 Razor view engine. В Reshrper 6.0 был добавлен встроенный в Visual Studio декомпилятор
dotPeek, который можно устанавливать и отдельно.
Улучшена поддержка XAML, улучшенная поддержка unit тестирования например в NUnit 2 улучшен интерфейс окна для запуска unit -тестов, возможность запускать TestCase отдельно.
Выполнение найболее популярных рефакторингов по новому сначала множно редактировать код а потом по нажатию Alt+Enter применить подходящий метод рефакторинга.
Также подержка цветов в CSS, XAML C# Resharper позволяет визуализировать цвета.
Более подробно почитать о новых возможностях можно здесь
Скачать триал версию можно здесь скачать Resharper 6.0