Средний
В чём разница между связями <<include>> и <<extend>> в Use Case?
<<include>> (Включение) — обязательное поведение.
Базовый прецедент не может быть выполнен без включаемого. Это переиспользование общей логики.
Пример: "Оформить заказ" <<include>> "Оплатить корзину".
<<extend>> (Расширение) — опциональное поведение.
Базовый прецедент может выполниться и сам по себе, но при определённых условиях запускается расширение.
Пример: "Оформить заказ" <-- <<extend>> "Применить промокод".
⚠️ Важно: Стрелка include идёт ОТ базового к включаемому. Стрелка extend идёт ОТ расширяющего К базовому.