Паттерны проектирования на платформе. NET Паттерны проектирования на платформе. NET Паттерны проектирования остаются важным инструментом в арсенале разработчика, поскольку они опираются на фундаментальные принципы проектирования. Тем не менее, появление новых конструкций в современных языках программирования делает одни паттерны более важными, а значимость других сводит к минимуму. Цель данной книги - показать, как изменились паттерны проектирования за это время, как на них повлияло современное увлечение функциональным программированием, и объяснить, каким образом они используются в современных .NET-приложениях. В издании вы найдете подробное описание классических паттернов проектирования с особенностями их реализации на платформе .NET, а также примеры их использования в .NET Framework. Вы также изучите принципы проектирования, известные под аббревиатурой SOLID, и научитесь применять их при разработке собственных приложений. Книга предназначена для профессиональных программистов, которые хотят изучить особенности классических принципов и паттернов программирования с примерами на языке C# и понять их роль в разработке современных приложений на платформе .NET. Питер 978-5-496-01649-0
631 руб.
Russian
Каталог товаров

Паттерны проектирования на платформе. NET

  • Автор: Сергей Тепляков
  • Мягкий переплет. Крепление скрепкой или клеем
  • Издательство: Питер
  • Год выпуска: 2016
  • Кол. страниц: 320
  • ISBN: 978-5-496-01649-0
Временно отсутствует
?
  • Описание
  • Характеристики
  • Отзывы о товаре
  • Отзывы ReadRate
Паттерны проектирования остаются важным инструментом в арсенале разработчика, поскольку они опираются на фундаментальные принципы проектирования. Тем не менее, появление новых конструкций в современных языках программирования делает одни паттерны более важными, а значимость других сводит к минимуму.
Цель данной книги - показать, как изменились паттерны проектирования за это время, как на них повлияло современное увлечение функциональным программированием, и объяснить, каким образом они используются в современных .NET-приложениях. В издании вы найдете подробное описание классических паттернов проектирования с особенностями их реализации на платформе .NET, а также примеры их использования в .NET Framework. Вы также изучите принципы проектирования, известные под аббревиатурой SOLID, и научитесь применять их при разработке собственных приложений.
Книга предназначена для профессиональных программистов, которые хотят изучить особенности классических принципов и паттернов программирования с примерами на языке C# и понять их роль в разработке современных приложений на платформе .NET.

Оставить заявку на описание
?
Содержание
Об авторе
Кому адресована эта книга
Как читать эту книгу
Отзывы
Благодарности
От издательства
Предисловие
GoF-паттерны на платформе NET
Отношение к паттернам проектирования
Фреймворки паттернов
Гибкость vs конкретность
Для чего нужна еще одна книга о паттернах
Часть I. Паттерны поведения
Глава 1. Паттерн "Стратегия" (Strategy)
Мотивация
Варианты реализации в NET
Обсуждение паттерна "Стратегия"
Выделять интерфейс или нет
Интерфейс vs делегат
Применимость
Примеры в NET Framework
Глава 2. Паттерн "Шаблонный метод" (Template
Method)
Мотивация
Варианты реализации в NET
Локальный шаблонный метод на основе делегатов
Шаблонный метод на основе методов расширения
Обсуждение паттерна "Шаблонный метод"
Изменение уровня абстракции
Стратегия vs шаблонный метод
Шаблонный метод и обеспечение тестируемости
Шаблонный метод и контракты
Применимость Примеры в NET Framework
Глава 3. Паттерн "Посредник" (Mediator)
Мотивация
Обсуждение паттерна "Посредник"
Явный и неявный посредник
Явные и неявные связи
Тестировать или не тестировать? Вот в чем вопрос!
Архитектурные посредники
Применимость
Когда третий лишний
Примеры в NET Framework
Глава 4. Паттерн "Итератор" (Iterator)
Мотивация
Обсуждение
Особенности итераторов в C#/ NET
"Ленивость" итераторов
Использование итераторов в цикле foreach
Итераторы или генераторы
Валидность итераторов
Итераторы и структуры
Push-based-итераторы
Применимость
Примеры в NET Framework
Глава 5. Паттерн "Наблюдатель" (Observer)
Общие сведения
Мотивация
Варианты реализации
Методы обратного вызова
События
Строго типизированный наблюдатель
IObserver/IObservable
Обсуждение паттерна "Наблюдатель"
Выбор варианта реализации "Наблюдателя"
Делегаты
События
Наблюдатель в виде специализированного
интерфейса
Сколько информации передавать наблюдателю
Наблюдатели и утечки памяти
Применимость
Примеры в NET Framework
Глава 6. Паттерн "Посетитель" (Visitor)
Мотивация
Обсуждение
Функциональная vs Объектная версия
Двойная диспетчеризация
Интерфейс vs абстрактный класс посетителя
Применимость
Примеры в NET Framework
Глава 7. Другие паттерны поведения
Паттерн "Команда"
Паттерн "Состояние"
Паттерн "Цепочка обязанностей"
Часть II. Порождающие паттерны
Глава 8. Паттерн "Синглтон" (Singleton)
Мотивация
Варианты реализации в NET
Реализация на основе Lazy of T
Блокировка с двойной проверкой
Реализация на основе инициализатора
статического поля
Обсуждение паттерна "Синглтон"
Singleton vs Ambient Context
Singleton vs Static Class
Особенности и недостатки
Применимость: паттерн или антипаттерн
Примеры в NET Framework
Дополнительные ссылки
Глава 9. Паттерн "Абстрактная фабрика" (Abstract
Factory)
Мотивация
Обсуждение паттерна "Абстрактная фабрика"
Проблема курицы и яйца
Обобщенная абстрактная фабрика
Применимость паттерна "Абстрактная фабрика"
Примеры в NET Framework
Глава 10. Паттерн "Фабричный метод" (Factory
Method)
Мотивация
Диаграмма паттерна "Фабричный метод"
Классическая реализация
Статический фабричный метод
Полиморфный фабричный метод
Варианты реализации
Использование делегатов в статической фабрике
Обобщенные фабрики
Обсуждение паттерна "Фабричный метод"
Сокрытие наследования
Устранение наследования
Использование Func в качестве фабрики
Конструктор vs фабричный метод
Применимость паттерна "Фабричный метод"
Применимость классического фабричного метода
Применимость полиморфного фабричного метода
Применимость статического фабричного метода
Примеры в NET Framework
Глава 11. Паттерн "Строитель" (Builder)
Мотивация
Особенности реализации в NET
Использование текучего интерфейса
Методы расширения
Обсуждение паттерна "Строитель"
Строго типизированный строитель
Создание неизменяемых объектов
Частичная изменяемость
Применимость
Примеры в NET Framework
Часть III. Структурные паттерны
Глава 12. Паттерн "Адаптер" (Adapter)
Мотивация
Обсуждение паттерна "Адаптер"
Адаптер классов и объектов
Адаптивный рефакторинг
Языковые адаптеры
Применимость
Примеры в NET Framework
Глава 13. Паттерн "Фасад" (Facade)
Мотивация
Обсуждение паттерна "Фасад"
Инкапсуляция стороннего кода
Повышение уровня абстракции
Применимость
Примеры в NET Framework
Глава 14. Паттерн "Декоратор" (Decorator)
Мотивация
Обсуждение паттерна "Декоратор"
Композиция vs наследование
Инициализация декораторов
Недостатки декораторов
Генерация декораторов
Применимость
Примеры в NET Framework
Глава 15. Паттерн "Компоновщик" (Composite)
Мотивация
Обсуждение паттерна "Компоновщик"
Применимость
Примеры в NET Framework
Глава 16. Паттерн "Заместитель" (Proxy)
Мотивация
Обсуждение паттерна "Заместитель"
Прозрачный удаленный заместитель
Заместитель vs декоратор
Виртуальный заместитель и Lazy<T>
Применимость
Примеры в NET Framework
Часть IV. Принципы проектирования
Глава 17. Принцип единственной обязанности
Для чего нужен SRP
Принцип единственной обязанности на практике
Типичные примеры нарушения SRP
Выводы
Глава 18. Принцип "открыт/закрыт"
Путаница с определениями
Какую проблему призван решить принцип
"открыт/закрыт"
Принцип "открыт/закрыт" на практике
Закрытость интерфейсов
Открытость поведения
Принцип единственного выбора
Расширяемость: объектно-ориентированный и
функциональный подходы
Типичные примеры нарушения принципа
"открыт/закрыт"
Выводы
Глава 19. Принцип подстановки Лисков
Для чего нужен принцип подстановки Лисков
Классический пример нарушения: квадраты и
прямоугольники
Принцип подстановки Лисков и контракты
О сложностях наследования в реальном мире
Когда наследования бывает слишком мало
Принцип подстановки Лисков на практике
Типичные примеры нарушения LSP
Выводы
Дополнительные ссылки
Глава 20. Принцип разделения интерфейсов
Для чего нужен принцип разделения интерфейса
SRP vs ISP
Принцип разделения интерфейсов на практике
Типичные примеры нарушения ISP
Выводы
Глава 21. Принцип инверсии зависимостей
Интерфейсы
Слои
Наблюдатели
Для чего нужен принцип инверсии зависимостей
Остерегайтесь неправильного понимания DIP
Тестируемость решения vs подрыв инкапсуляции
Принцип инверсии зависимостей на практике
Примеры нарушения принципа инверсии
зависимостей
Выводы
Дополнительные ссылки
Глава 22. Размышления о принципах
проектирования
Использование принципов проектирования
Правильное использование принципов
проектирования
Антипринципы проектирования
Заключение
Источники информации
Книги о дизайне и ООП
Статьи
Штрихкод:   9785496016490
Аудитория:   Для специалистов
Бумага:   Офсет
Масса:   420 г
Размеры:   232x 166x 14 мм
Тираж:   700
Литературная форма:   Учебно-практическое пособие
Тип иллюстраций:   Без иллюстраций
Составитель:   Гринчик Н.
Отзывы
Найти пункт
 Выбрать станцию:
жирным выделены станции, где есть пункты самовывоза
Выбрать пункт:
Поиск по названию улиц:
Подписка 
Введите Reader's код или e-mail
Периодичность
При каждом поступлении товара
Не чаще 1 раза в неделю
Не чаще 1 раза в месяц
Мы перезвоним

Возникли сложности с дозвоном? Оформите заявку, и в течение часа мы перезвоним Вам сами!

Captcha
Обновить
Сообщение об ошибке

Обрамите звездочками (*) место ошибки или опишите саму ошибку.

Скриншот ошибки:

Введите код:*

Captcha
Обновить