Як взаємодіють шари між собою?
У багаторівневій (шаруватій) архітектурі шари взаємодіють строго зверху вниз, тобто кожен шар звертається лише до сусіднього нижнього шару, не перестрибуючи через рівні.
Так забезпечується чиста структура, ізоляція відповідальності і простота зміни коду.
1. Напрямок взаємодії
javascript
Презентаційний шар ↓
Бізнес-логічний шар ↓
Шар даних (сховище)- Презентаційний шар (UI) відправляє запити в бізнес-логіку: наприклад, "створи замовлення", "покажи список клієнтів".
- Бізнес-логіка обробляє правила, робить розрахунки і звертається до шару даних: "дістань ці записи з БД", "збережи результат".
- Шар даних виконує операції з базою (SQL-запити, ORM і т. п.) і повертає дані назад нагору.
2. Зворотний зв'язок (відповідь угору)
Відповідь також рухається знизу вгору:
javascript
Шар даних → Бізнес-логіка → Презентаційний шар- Шар даних повертає "сирі" дані (наприклад, записи з таблиці).
- Бізнес-логіка перетворює їх у бізнес-об'єкти чи готові результати.
- Презентаційний шар відображає підсумок користувачу в потрібному вигляді.
3. Чому це важливо
Такий поділ:
- робить код модульним і тестованим - можна змінювати один шар, не ламаючи інші;
- дозволяє замінювати технології (наприклад, змінити базу даних, не чіпаючи інтерфейс);
- підвищує безпеку і стійкість - верхні шари не мають прямого доступу до даних.
4. Приклад на практиці
Користувач у вебзастосунку натискає "Купити":
- UI передає дію в бізнес-логіку (через контролер).
- Бізнес-логіка перевіряє баланс, застосовує знижку, створює замовлення.
- Логіка звертається до шару даних, щоб зберегти замовлення.
- Шар даних зберігає запис у БД і повертає ID.
- Бізнес-логіка підтверджує операцію.
- Презентаційний шар показує повідомлення "Покупку успішно оформлено".
Так відбувається замкнутий цикл взаємодії шарів, де кожен шар знає лише свого сусіда і відповідає за свою ділянку роботи.
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.