Курс: Дизайн-принципи в ООП

Складні принципи простими словами: проєктування класів та взаємодія між ними на прикладах з реальних проєктів.

Менторка: Наталія Ништа, Senior Software Engineer, 14+ років досвіду в IT, авторка багатьох статей на тему дизайн-принципів та програмування
Online
Курс: Дизайн-принципи в ООП
Курс: Дизайн-принципи в ООП

На цьому курсі ви подивитесь на проєктування класів і взаємодії між ними з точки зору інженерних ризиків, а також навчитесь ідентифікувати їх та керувати ними.

Ви поринете у захоплюючу “гру” моделювання об’єктів і зв'язків між ними.

    Під час цього, ви дізнаєтеся:
  • чому саме такі правила існують у світі ООП
  • яке в них підґрунтя
  • коли використовувати той чи інший принцип проєктування
  • коли можна нехтувати цими принципами
  • і як все це пов’язано між собою.

Чому курс зосереджується саме на принципах проєктування, а не на шаблонах? Якщо ви хочете круто грати в шахи, то вам потрібно почати спочатку розібратися, як шахові фігури мають рухатися по дошці (аналог принципів проєктування), а не зубрити одразу відомі шахові комбінації (аналог патернів програмування). Після проходження курсу, ви зрозумієте, чому принципи проєктування лежать в основі дизайн-патернів, та чому без них майже неможливо використати та адаптувати патерни під вашу конкретну задачу.

Курс включає приклади з реальних проєктів, а також велику кількість цікавих та захоплюючих вправ на проєктування після кожної секції.

Цей курс буде ідеальним для тих, перед ким стоять наступні питання:

  • Чому я вчу дизайн-паттерни, але ясніше нічого не стає?
  • Чому на співбесідах мене питають про принципи SOLID? Що такого важливого в них?
  • SOLID+? Який ще плюс?
  • Принципи проєктування? Я все це розумію, але як це використовувати на практиці?

Формат

Старт: 21 вересня, 10:00.
Шість 2-годинних live-лекцій по суботах:
  • Теоретична частина
  • Приклади з реальних проєктів: розбір коду, чому так не можна робити, і як треба
  • Розбір домашнього завдання з попередньої лекції: як би це завдання виконав автор курсу.
Матеріали в доступі:
  • Презентації
  • Відеозаписи лекцій
  • Приклади коду з репозиторія.
  • Домашні завдання з використання принципів проєктування
  • Додаткові матеріали та посилання.
  • Тести для перевірки теоретичних знань.

Всі посилання ми відправимо вам на пошту, вказану при реєстрації.

Програма

    21.09. Не повторюй себе: інкапсулюй
  • Вступ. Коротенько про китів ООП: базові принципи.
  • Рівень абстракції.
  • Принцип єдиної відповідальності (SOLID: SRP).
  • Лезо Оккама та KISS.
    28.09. Спираємось на інтерфейси
  • API та Client.
  • Принцип розділення інтерфейсів (SOLID: ISP).
  • Інтерфейс проти Абстрактного класу: епічна битва.
  • Інтерфейс як абстракція.
  • Інкапсуляція змінних аспектів.
  • Закон Конвея.
    5.10. Питання контролю: хто чим керує
  • Принцип відкритості та закритості (SOLID: OCP).
  • Закон Деметри.
  • Які бувають залежності.
  • Публічний та опублікований інтерфейси.
  • Інверсія контролю в Голлівудському принципі.
    12.10. Джерело неподільного Моноліту
  • Принцип інверсії залежностей (SOLID: DIP).
  • Проблеми зі словом "new".
    19.10. Таке дуже "просте" Наслідування
  • Невідоме наслідування.
  • Що таке композиція та делегування: шаблон проектування "Стратегія".
  • Stateful та Stateless об'єкти.
  • Коректне використання заборони наслідування: шаблон Immutable Object.
  • Однопоточність та багатопоточність і при чому тут заборона наслідування.
    26.10. Міксуємо LSP із забороною наслідування та інверсією залежностей
  • Принцип підстановки Барбари Лісков в теорії (SOLID: LSP).
  • LSP людською мовою.
  • Наслідки порушення LSP в деталях.
  • IoC + LSP + final.
  • Заборона наслідування у зовнішніх бібліотеках.

Менторка: Наталя Ништа, Senior Software Engineer

— має вищу профільну освіту за фахом інженер-програміст

— досвід в індустрії 14+ років

— авторка статей на тему дизайн-принципів та програмування

— в своїй компанії 8 років читає курс з дизайн-принципів в ООП

— Розказує в школах про програмування та любить пояснювати складні речі просто і зрозуміло.

Linkedin



Дивіться доповідь Наталі "Аналіз та Дизайн-Принципи в ООП. Проблема заборони наслідування в однопоточному PHP" на конференції PHP fwdays'21

Вартість квитків

Attendee's ticket

Доступ до онлайн-трансляції курсу

Презентація та матеріали

Доступ до запису курсу (1 рік)

Доступ до чату в ТГ, де спікер буде відповідати на питання (1 місяць)

Сертифікат учасника

*Учасники курсу отримують знижку 10% на участь в конференціях Fwdays

Якщо після першого заняття ви зрозумієте, що очікування не співпадають, ми повертаємо гроші в повному обсязі.

Доступна оплата частинами від Монобанку та покупка в розстрочку від Приватбанку
13 000 UAH ≈€325
до 21 вересня залишилось 4 дні
до 25 серпня — 9000 грн≈€225
до 15 вересня — 11000 грн≈€275
Купити квиток

У зв’язку з тим, що Fwdays — українська компанія, оплата послуг відбувається у національній валюті Гривні. Орієнтовну ціну у Євро ви можете побачити на блоках цін.

Діють групові знижки 
Напишіть нам на academy@fwdays.com для прорахування вашої знижки.
Увійти
Або поштою
Увійти
Або поштою
Реєстрація через e-mail
Реєстрація через e-mail
Забули пароль?