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

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

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

Наступну ітерацію ми плануємо в квітні. Будь ласка, зареєструйтеся, щоб отримати повідомлення, як тільки ми відкриємо продаж квитків!

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

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

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

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

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

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

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

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

Формат

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

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

Програма

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

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

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

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

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

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

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

Linkedin



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

Увійти
Або поштою
Увійти
Або поштою
Реєстрація через e-mail
Реєстрація через e-mail
Забули пароль?