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

Спікерка Senior PHP Engineer, досвід в IT більше 12 років, має опубліковані статті на тему дизайн-принципів та програмування
Online
Курс: Аналіз та дизайн-принципи в ООП
Курс: Аналіз та дизайн-принципи в ООП

Ми запускаємо попередню реєстрацію на курс “Аналіз та дизайн-принципи в ООП” від Наталі Ништи. Курс складатиметься з практичної та теоретичної частин та пройде у форматі онлайн. Реєструйтеся, щоб отримати першим можливість придбати квитки за найнижчими цінами 🚀


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

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

Приходьте на курс і дізнайтеся!

На курсі ви зможете подивитися на проектування класів і взаємодії між ними з точки зору інженерних ризиків, а також навчитися ідентифікувати їх та керувати ними. Ви поринете у захоплюючу “гру” моделювання об’єктів і взаємодії між ними, дізнаєтеся чому саме такі правила існують в світі ООП, яке в них підґрунтя, коли використовувати той чи інший принцип проектування, коли можна ними нехтувати і як все це пов’язано між собою. І нарешті розібратися, чому принципи проектування лежать в основі дизайн-патернів і чому без знання принципів майже неможливо використати та адаптувати патерни під вашу конкретну задачу.

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


Спікерка Наталя Ништа

— Senior PHP Engineer;

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

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

— має опубліковані статті на тему дизайн-принципів та програмування, на роботі читає курс з дизайн-принципів в ООП;

— Наталя та сама людина, що вміє розібратися з лапшекодом і пояснити керівництву, чому така "архітектура" не є найкращим варіантом.

Основна інформація

Курс включає:

  • Більше 6 годин відео контенту.
  • Матеріали курсу для скачування: презентації курсу, приклади коду з репозиторія, тощо.
  • 6 секцій.

Структура секції:

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

Мова курсу:

Курс читається російською мовою.

Програма

1. Не повторюй себе: інкапсулюй

  • Вступ. Коротенько про китів ООП: базові принципи.
  • Рівень абстракції.
  • Принцип єдиної відповідальності (SOLID: SRP).
  • Лезо Оккама та KISS.

  • 2. Спираємось на інтерфейси

  • API та Client.
  • Принцип розділення інтерфейсів (SOLID: ISP).
  • Інтерфейс проти Абстрактного класу: епічна битва.
  • Інтерфейс як абстракція.
  • Інкапсуляція змінних аспектів.
  • Закон Конвея.

  • 3. Питання контролю: хто чим керує

  • Принцип відкритості та закритості (SOLID: OCP).
  • Закон Деметри.
  • Які бувають залежності.
  • Публічний та опублікований інтерфейси.
  • Інверсія контролю в Голлівудському принципі.

  • 4. Джерело неподільного Моноліту

  • Принцип інверсії залежностей (SOLID: DIP).
  • Проблеми зі словом "new".

  • 5. Таке дуже "просте" Наслідування

  • Невідоме наслідування.
  • Що таке композиція та делегування: шаблон проектування "Стратегія".
  • Stateful та Stateless об'єкти.
  • Коректне використання заборони наслідування: шаблон Immutable Object.
  • Однопоточність та багатопоточність і при чому тут заборона наслідування.

  • 6. Міксуємо LSP із забороною наслідування та інверсією залежностей

  • Принцип підстановки Барбари Лісков в теорії (SOLID: LSP).
  • LSP людською мовою.
  • Наслідки порушення LSP в деталях.
  • IoC + LSP + final.
  • Заборона наслідування у зовнішніх бібліотеках.


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

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