Про курс
Патерни проєктування – це стандартизовані і загальноприйняті способи розв’язання поширених проблем у коді.
У класичному каталозі «Патерни об'єктно-орієнтованого проєктування», «Банди чотирьох» (Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж.) виділяють породжуючі патерни, структурні патерни та поведінкові патерни. Абстрактна Фабрика (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 з 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), розглянути приклади застосування та імплементацію патерну. Розглянувши декілька варіантів реалізації студенти зможуть краще розуміти різницю між Абстрактною фабрикою та Фабричним методом, а також необхідність використання кожного з цих патернів. Хоча даний патерн не набув такої ж популярності, як фабричний метод, ефективне його використання може дозволити писати масштабований та гнучкий код та значно спростити існуючі програмні рішення.
Ціль уроку – на практиці познайомитися з патернами Будівельник та Фабричний Метод, зрозуміти необхідність їх застосування та навчитися ефективно використовувати ці патерни в майбутньому.