среда, 28 июня 2017 г.

Top The Best books every software developer must read.

    Hello my friends here I will present my top list of the best books for practical software developers. These books cover fundamental and practical aspects of developing good quality of software, you will understand how to apply:

  • Agile principles, and practices of Extreme Programming
  • Test-driven development, 
  • Refactoring with unit testing
  • Pair programming
  • Agile design and design smells
  • Design patterns
  • Apply SOLID principles of OOD
  • Architecture of complex enterprise software
  • Effective algorithms and data structures
  • Domain Driven Design
 
   Before you start to read these books I will give some tips how to do it effectively, 
  1.  You should use in practice all that you found useful from books, 
  2.  You don't need to read books from begin to end you should use them as table or hand books in every day practice until you will not find yourself that you use in practice almost all best techniques and practices.  
  3. And again more practice and research for best solutions to adapt them to your current problems. 

Design Patterns: Elements of Reusable Object-Oriented Software E. Gamma.


The classical and the best book forever about design patterns

четверг, 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 который и решает данную задачу.