Паттерны проектирования для C# и платформы .NET Core
Book information
Description
Паттерны проектирования — удобный прием программирования для решения рутинных задач разработки ПО. Грамотное использование паттернов позволяет добиться соответствия любым требованиям и снизить расходы. В этой книге описаны эффективные способы применения паттернов проектирования с учётом специфики языка C# и платформы .NET Core. Кроме знакомых паттернов проектирования из книги «Банды четырех» вы изучите основы объектно-ориентированного программирования и принципов SOLID. Затем узнаете о функциональных, реактивных и конкурентных паттернах, с помощью которых будете работать с потоками и корутинами. Заключительная часть содержит паттерны для работы с микросервисными, бессерверными и облачно-ориентированными приложениями. Вы также узнаете, как сделать выбор архитектуры, например микросервисной или MVC. Вы научитесь - Повышать гибкость кода, используя принципы SOLID. - Применять разработку через тестирование (TDD) в ваших проектах на .NET Core. - Выполнять эффективную миграцию баз данных, обеспечивать долговременное хранение данных и их тестирование. - Преобразовывать консольное приложение в веб-приложение с помощью подходящего MVP. - Писать асинхронный, многопоточный и параллельный код. - Использовать парадигму MVVM и работать с RxJS и AngularJS для управления изменениями в базах данных. - Откроете для себя возможности микросервисов, бессерверного программирования и облачных вычислений. Введение Кому подойдет эта книга Структура издания Как получить максимум от книги Загрузка файлов с примерами Код в действии Полноцветные изображения Условные обозначения О научных редакторах Об авторах Предисловие Часть I. Основы паттернов проектирования в C# и .NET Core Глава 1. Обзор ООП в .NET Core и C# Технические требования Установка Visual Studio Установка .NET Core Используемые в книге модели Определение ООП. Как работают классы и объекты Определение ООП Класс Объект Интерфейс Наследование Инкапсуляция Полиморфизм Статический полиморфизм Динамический полиморфизм Резюме Вопросы Глава 2 Современные паттерны и принципы проектирования ПО Технические требования Установка Visual Studio Установка .NET Core Принципы проектирования DRY — «Не повторяйся» KISS — «Делай проще, тупица» YAGNI — «Вам это не понадобится» MVP — «Продукт с минимальным функционалом» SOLID Паттерны программного обеспечения Паттерны «Банды четырех» Паттерны интеграции корпоративных приложений Паттерны жизненного цикла разработки программного обеспечения Waterfall SDLC Agile SDLC Резюме Вопросы Часть II. Углубленное изучение утилит и паттернов .NET Core Глава 3. Реализация паттернов проектирования — основы (часть 1) Технические требования Установка Visual Studio Установка .NET Core Продукт с минимальным функционалом Требования Каковы преимущества MVP в дальнейшей разработке Разработка через тестирование Почему разработчики выбирают TDD Настройка проектов Определения начальных модульных тестов Паттерн проектирования «Абстрактная фабрика» Принципы SOLID Принцип единственной ответственности (SRP) Принцип открытости/закрытости (OCP) Принцип замещения Лисков (LSP) Принцип сегрегации интерфейса (ISP) Принцип инверсии зависимостей Модульные тесты для InventoryCommand Резюме Вопросы Глава 4. Реализация паттернов проектирования — основы (часть 2) Технические требования Установка Visual Studio Установка .NET Core Паттерн «Синглтон» Процессы и потоки Паттерн «Репозиторий» Модульные тесты Иллюстрация состояния гонки Класс AddInventoryCommand Класс UpdateQuanittyCommand Команда GetInventoryCommand Паттерн «Фабрика» Модульные тесты Функциональность .NET Core Интерфейс IServiceCollection Интерфейс CatalogService IServiceProvider Консольное приложение Резюме Вопросы Глава 5. Реализация паттернов проектирования в .Net Core Технические требования Установка Visual Studio Установка .NET Core Время жизни сервисов в .Net Core Временная зависимость (Transient) Время жизни области применения (Scoped) «Синглтон» в .Net Core Вернемся к FlixOne Время жизни области применения (Scope) Внедрение фабрики Интерфейс IInventoryContext Интерфейс IInventoryReadContext Интерфейс IInventoryWriteContext Класс InventoryCommandFactory Класс InventoryCommand Резюме Вопросы Глава 6. Реализация паттернов проектирования для веб-приложений (часть 1) Технические требования Установка Visual Studio Установка .NET Core Установка SQL Server Создание веб-приложения .NET Core Запуск проекта Разработка веб-приложения Реализация CRUD-страниц Резюме Вопросы Дальнейшее чтение Глава 7. Реализация паттернов проектирования для веб-приложений (часть 2) Технические требования Установка Visual Studio Установка .NET Core Установка SQL Server Расширение веб-приложения .NET Core Начало проекта Аутентификация и авторизация Аутентификация в действии Авторизация в действии Создание тестового проекта веб-приложения Резюме Вопросы Дальнейшее чтение Часть III. Функциональное программирование, реактивное программирование и кодирование для облака Глава 8 . Конкурентное программирование в .NET Core Технические требования Установка Visual Studio Установка .NET Core Установка SQL Server Конкурентность в реальном мире Многопоточное и асинхронное программирование Async/Await — чем плоха блокировка Конкурентная коллекция Паттерны и рекомендации — TDD и параллельный LINQ Резюме Вопросы Дальнейшее чтение Глава 9. Функциональное программирование Технические требования Установка Visual Studio Установка .NET Core Установка SQL Server Основы функционального программирования Совершенствование приложения FlixOne Требования Вернемся к FlixOne Паттерн «Стратегия» и функциональное программирование Резюме Вопросы Глава 10. Модели и методы реактивного программирования Технические требования Установка Visual Studio Установка .NET Core Установка SQL Server Принципы реактивного программирования Будьте реактивны с реактивным программированием Реактивность и интерфейс IObservable Паттерн «Наблюдатель» — реализация с помощью IObservable Реактивные расширения: .NET Rx Extensions Настройка приложения FlixOne Начало проекта Применение в приложении FlixOne фильтрации, пагинации и сортировки Паттерны и практики — MVVM Реализация MVVM Резюме Вопросы Дальнейшее чтение Глава 11. Усовершенствованные методы проектирования и применения баз данных Технические требования Установка Visual Studio Установка .NET Core Установка SQL Server Обсуждение примера использования Начало проекта Требования Поговорим о базах данных Обработка баз данных OLTP OLAP Базы данных в стиле бухгалтерской книги Реализация паттерна CQRS Резюме Вопросы Глава 12. Разработка облачных приложений Технические требования Ключевые моменты, которые следует учитывать при разработке облачных решений Масштабируемость Рабочая нагрузка Паттерны Устойчивость/доступность Паттерны решений Безопасность Паттерны решений Проектирование приложения Паттерны решений DevOps Паттерны решений Резюме Вопросы Дальнейшее чтение Приложения Приложение А. Практические рекомендации Технические требования Обсуждение примера использования UML-диаграмма Практические рекомендации Другие паттерны проектирования Резюме Вопросы Дальнейшее чтение Приложение Б. Ответы на вопросы Глава 1. Обзор ООП в .NET Core и C# Глава 2. Современные паттерны и принципы проектирования ПО Глава 3. Реализация паттернов проектирования — основы (часть 1) Глава 4. Реализация паттернов проектирования — основы (часть 2) Глава 5. Реализация паттернов проектирования в .Net Core Глава 6. Реализация паттернов проектирования для веб-приложений (часть 1) Глава 7. Реализация паттернов проектирования для веб-приложений (часть 2) Глава 8. Конкурентное программирование в .NET Core Глава 9. Функциональное программирование Глава 10. Модели и методы реактивного программирования Глава 11. Усовершенствованные методы проектирования и применения баз данных Глава 12. Разработка облачных приложений Приложение А. Практические рекомендации
Similar books
Методология научных исследований и прикладной аналитики: Учебник. Изд. 5-е, дополн. и перераб. В 2 т. Т.2: Научные исследования: Мастерство и искусство научного мышления и научной работы / Methodology of Scientific Research and Practical Analytics: A Textbook: Fifth Edition. In two volumes. Vol.2: Scientific research: Art of scientific thinking and scientific work / Méthodologie de la recherche scientifique et de l’analytique appliquée: Manuel: Cinquième édition. En 2 tomes. T.2: Recherches scientifiques: Art de la pensée scientifique et du travail scientifique
2025 · PDF
Методы и понятия философии искусства: практикум : уровень подготовки кадров высшей квалификации: ассиснтурв-стажировка : специальности: 54.09.03 "Искусство дизайна (по видам)", 54.09.02 "Мастерство декоративно-прикладного искусства и народных промыслов (по видам)" : укрупненная группа специальностей: 54.00.00 "Изобразительное и прикладные виды искусств" : квалификация выпускника: "Преподаватель творческих дисциплин в высшей школе. Дизайнер", "Преподаватель творческих дисциплин в высшей школе. Художник декоративно-прикладного искусства" : форма обучения: очная
2022 · PDF
Разработка графического интерфейса пользователя информационной системы с использованием библиотеки QT: учебное пособие для студентов 1 курса направлений подготовки 09.04.02 "Информационные системы и технологии", 27.04.03 "Системный анализ и управление" очной формы обучения, 2 курса направления подготовки 10.05.03 "Информационная безопасность автоматизированных систем" очной формы обучения и 3 курса направления подготовки 09.03.02 "Информационные системы и технологии" очной и заочной форм обучения : учебное электронное издание
2021 · PDF
Археологические культуры Сибири в контексте кросс-культурных контактов в Евразии: к 300-летию первых научных археологических раскопок в Сибири (1722 г.) =: Archaeological Cultures of Siberia in the context of Cross-cultural contacts in Eurasia: dedicated to the 300th anniversary of the first scientific archaeological excavations in Siberia (1722) : материалы Международной археологической конференции молодых исследователей "Археологические культуры Сибири в контексте кросс-культурных контактов в Евразии: к 300-летию первых научных археологических раскопок в Сибири (1722 г.)" (Новосибирск, 21-25 ноября 2022 г.)
2022 · PDF
Трешниковские чтения - 2023. Современная географическая картина мира и технологии географического образования =: Treshnikov readings - 2023. Modern geographical global picture and technology of geographic education : материалы Всероссийской научно-практической конференции с международным участием, посвящённой памяти знаменитого российского океанолога, исследователя Арктики и Антарктики, академика Алексея Фёдоровича Трёшникова и 60-летию Ульяновского областного отделения Всероссийской общественной организации "Русское гаографическое общество" (13 апреля 2023)
2023 · PDF
Управление объектами интеллектуальной собственности. Искусство изобретать: учебник для обучающихся по направлениям подготовки 23.00.00 , направлениям подготовки 23.03.01 "Технология транспортных процессов", уровень образования-"бакалавриат", 23.03.03 "Эксплуатация транспортно-технологических машин и комплексов", уровень образования-"бакалавриат", 23.04.01 "Технология транспортных процессов", уровень образования- "магистратура", 23.04.03 "Эксплуатация транспортно-технологических машин и комплексов", уровень образования- "магистратура"
2022 · PDF
Философия. Учебно-методический комплекс дисциплины по направлениям подготовки: 51.03.03 (071800.62) «Социально-культурная деятельность», профили подготовки: «Социально-культурные технологии в индустрии досуга», «Менеджмент социально-культурной деятельности», «Менеджмент детско-юношеского досуга», «Постановка и продюсирование культурно-досуговых программ», «Социально-культурная анимация и рекреация»; 38.03.02 (080200.62) «Менеджмент», профили подготовки: «Управление человеческими ресурсами», «Управление малым бизнесом», квалификации (степень) выпускника – «бакалавр»
2014 · PDF
Проектирование устройств приема и обработки сигналов: учебно-методическое пособие по курсу "Устройства приема и обработки сигналов" для студентов всех форм обучения специальностей: 210400.62 Радиотехника. Бакалавр Б.3.10. Основы цифровой обработки сигналов; 210700.62 Системы мобильной связи. Бакалавр Б.3.19. Радиоприемные устройства систем мобильной связи; 210601.65 Радиоэлектронные системы и комплексы. Специалист С.3.18. Устройства приема и обработки сигналов; 090302.65 Защита информации в системах связи и управления. Специалист С.3.30. Устройства приема и обработки сигналов
2015 · PDF