О курсе
Паттерны проектирования – это стандартизированные и общепринятые способы решения распространенных проблем в коде.
В классическом каталоге «Паттерны объектно-ориентированного проектирования», «Банды четырех» (Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж.) выделяют порождающие, структурные и поведенческие паттерны. Абстрактная Фабрика (Abstract Factory), Фабричный Метод (Factory Method), Строитель (Builder), Прототип (Prototype), Одиночка (Singleton) – порождающие паттерны (Creational patterns), решающие проблемы, связанные с созданием объектов и экземпляров классов. Они обеспечивают гибкость кода и изолируют систему от способа создания, компоновки и передачи объектов.
Курс «Порождающие паттерны проектирования» познакомит вас с тем, как использование паттернов избавляет от определенных проблем. Вы узнаете, что применение соответствующих паттернов может значительно улучшить дизайн программного обеспечения, сделать его более гибким и поддерживаемым, а также снизить связь между компонентами системы.
Данный курс рассчитан на тех, у кого уже есть базовые навыки программирования на C# и кто знаком с объектно-ориентированным программированием. Рассмотрение паттернов в теории и на практике в течение этого курса будет полезным как тем, кто только начинает изучение паттернов проектирования, так и уже имеющим определенные знания, однако хотел бы их структурировать и повторить отдельные темы.
Этот курс входит в специальности:
Предварительные Требования
- Необходимые базовые знания C# и .NET
- Понимание принципов ООП
Вы научитесь
- Как с помощью порождающих паттернов решаются проблемы создания объектов. Как паттерны обеспечивают гибкость и изолируют систему от способа создания, компоновки и передачи объектов.
- Как порождающие паттерны позволяют скрыть сложности создания объектов от кода клиента и как это помогает упростить код клиента и избежать прямых зависимостей от конкретных классов.
- Узнаете, как паттерн Singleton и его версия Multiton гарантируют, что в системе будет только один экземпляр определенного класса или ограниченное количество экземпляров. Как это помогает, когда необходимо обеспечить глобальный доступ к ресурсам или управлять состоянием программы.
- Ознакомитесь с альтернативными методами решения проблемы контроля жизни объектов с помощью Dependency Injection и IoC контейнеров.
- Узнаете, как Фабричные методы и Абстрактные фабрики позволяют делегировать создание объектов подклассам или фабрикам, что позволяет выбирать нужный тип объекта в зависимости от контекста выполнения.
- Познакомитесь с тем, как порождающие паттерны позволяют создавать объекты таким образом, что изменения в ваших классах не влияют на клиентский код. Узнаете, как это снижает зависимость между клиентом и вашими классами и делает систему более гибкой и легкой для поддержки.
- Поймете, как именно паттерны Builder и Prototype обеспечивают контроль над жизненным циклом объектов и как это полезно при создании сложных или изменяющихся объектов.
- 3 ч 46 м
- 12.10.2023
- 8
- 12.10.2023
- украинский
Что входит в курс
×
Вы действительно хотите открыть доступ к тестированию по курсу Порождающие паттерны проектирования на C# на 40 дней?
Цель урока – ознакомиться с паттернами проектирования, их значением и ролью в разработке программного обеспечения, а также с необходимыми знаниями и средствами для прохождения курса. В ходе урока будет рассмотрена история и необходимость возникновения паттернов, их классификация и примеры применения. После прохождения урока учащиеся получат теоретические знания, необходимые для проработки следующих уроков и работы с порождающими паттернами проектирования и лучшего понимания паттернов в целом.
Материал данного урока направлен на ознакомление с порождающими паттернами проектирования на примере паттерна Одиночка. Будут рассмотрены особенности порождающих паттернов и необходимость их использования. Практическая часть урока будет содержать несколько реализаций паттерна Одиночка средствами .NET и C#, а также обоснована целесообразность использования паттерна при разработке современных систем. Также будут рассмотрены альтернативные методы решения проблемы контроля жизни объектов с помощью Dependency Injection и IoC контейнеров. Учащиеся получат не только теоретические, но и практические знания, позволяющие эффективно применять паттерн Одиночка.
Цель урока – ознакомиться с паттерном Прототип, его реализацией и вариантами применения. Хотя данный паттерн недостаточно популярен сейчас, однако концепции, заложенные в его основе, а именно клонирование объектов, довольно важны при проектировании и разработке систем. Будет рассмотрено несколько вариантов его реализации и другие способы клонирования объектов в .NET. Также будет рассмотрена необходимость клонирования в целом, разница между типами-ссылками и типами-значения и понятия записи (record) в C#.
Цель урока – на практике познакомиться с паттернами Одиночка и Прототип, понять необходимость их применения и научиться эффективно использовать эти паттерны в будущем.
Цель урока – ознакомиться с паттерном проектирования Строитель (Builder). Это довольно популярный порождающий паттерн проектирования, часто используемый как в Open-Source проектах, так и в BCL.
Цель урока – ознакомиться с паттерном проектирования Фабричный Метод (Factory Method). Этот паттерн является, пожалуй, одним из самых популярных порождающих паттернов проектирования и часто применяется в BCL и Open-Source проектах. Эффективно используя паттерн Фабричный метод можно добиться высокого качества и гибкости кода, а также упростить его дальнейшую поддержку. Рассмотрев практические примеры, учащиеся смогут использовать паттерн не только для написания нового кода, но и для рефакторинга уже существующего.
Цель урока – ознакомиться с паттерном проектирования Абстрактная Фабрика (Abstract Factory), рассмотреть примеры применения и имплементацию паттерна. Рассмотрев несколько вариантов реализации, студенты смогут лучше понимать разницу между Абстрактной фабрикой и Фабричным методом, а также необходимость использования каждого из этих паттернов. Хотя данный паттерн не приобрел такую же популярность, как Фабричный метод, эффективное его использование может позволить писать масштабированный и гибкий код и значительно упростить существующие программные решения.
Цель урока – на практике познакомиться с паттернами Строитель и Фабричный Метод, понять необходимость их применения и научиться эффективно использовать эти паттерны в будущем.