ГоловнаКурсиТренажерТест рівняPersonalУвійти
Модуль 6 · Урок 29 із 60

Фабрики, адаптери та dependency injection

Ізолювати зовнішні сервіси й спростити тести.

44 хв +100 XP Intermediate 4 контрольні питання
Поточний модуль 06 Модулі та архітектура
Результат уроку

У цьому уроці ти не просто прочитаєш про «Фабрики, адаптери та dependency injection», а побудуєш робочий приклад, розбереш кожний крок, виконаєш три вправи та закріпиш тему в тренажері.

Пояснення

Як працює тема на практиці

Фабрики, адаптери та dependency injection — практична тема, без якої складно писати передбачувані програми на JavaScript. Ізолювати зовнішні сервіси й спростити тести.

Починай із контракту: які дані надходять, який результат очікується і що вважається помилкою. Це одразу підказує структуру рішення та набір перевірок.

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

Завершуй рефакторингом: прибери дублювання, скороти вкладеність, уточни назви й залиш лише ті абстракції, які спрощують читання та тестування.

01

Пояснити власними словами, яку проблему розв’язує тема «Фабрики, адаптери та dependency injection».

02

Розділити вхідні дані, бізнес-правила та формування результату.

03

Перевірити типовий, граничний і помилковий сценарії.

04

Оцінити читабельність: назви, вкладеність, дублювання та залежності.

Робочий приклад
JavaScript · lesson 29
class CourseProgress {
  #completed = 0;
  constructor(total) { this.total = total; }
  complete() { this.#completed = Math.min(this.total, this.#completed + 1); }
  get percent() { return Math.round(this.#completed / this.total * 100); }
}
const progress = new CourseProgress(60);
progress.complete();
console.log(progress.percent);
1

Визначаємо формат вхідних даних і очікуваний результат.

2

Розбираємо ключову конструкцію прикладу та причину її вибору.

3

Запускаємо типовий сценарій і перевіряємо фактичний результат.

4

Додаємо крайовий випадок, після чого спрощуємо код без зміни поведінки.

Закріплення

Три вправи від простого до challenge

01
Розігрів

Зміни приклад уроку так, щоб він працював з двома різними наборами даних і виводив зрозуміле повідомлення.

02
Основна практика

Створи невелику програму на тему «Фабрики, адаптери та dependency injection»: використай реалістичні дані навчальної платформи, покажи результат і оброби щонайменше один крайовий випадок.

03
Challenge

Додай перевірку помилкових даних, винеси логіку в окрему функцію/метод і підготуй щонайменше три тестові сценарії для теми «Фабрики, адаптери та dependency injection».

Виконати основну вправу в тренажері
Практична задача

Створи невелику програму на тему «Фабрики, адаптери та dependency injection»: використай реалістичні дані навчальної платформи, покажи результат і оброби щонайменше один крайовий випадок.

Рішення виконує поставлену умову, використовує ключові конструкції теми «Фабрики, адаптери та dependency injection», має зрозумілі назви та не падає на порожніх або некоректних даних.

Відкрити редактор
ПідказкиЗапиши приклад input → output до написання коду.Спочатку реалізуй найменший робочий варіант, потім додай перевірки.Не дублюй одну й ту саму умову в кількох місцях.
Контроль засвоєння

Перевір себе перед завершенням уроку

Дай відповідь на всі 4 питання. Для зарахування потрібно набрати щонайменше 75%.

0/4відповідей
01

Який підхід найкраще закріплює тему «Фабрики, адаптери та dependency injection»?

02

Який результат найточніше відповідає меті цього уроку?

03

Яка дія найкраще закріпить матеріал після теорії та прикладу?

04

Який принцип потрібно перевірити у власному рішенні?

Заверши тест і забери 100 XPКнопка активується після результату від 75%.