Наведіть приклади типових шарів у вебзастосунку
У типовому вебзастосунку архітектура розділяється на кілька шарів, кожен з яких виконує свою роль - від інтерфейсу користувача до бази даних.
Ось структура і приклади:
1. Презентаційний шар (Presentation Layer)
Призначення: взаємодія з користувачем. Що робить: відображає дані і приймає ввід. Приклади:
- HTML, CSS, JavaScript
- Фреймворки: React, Vue, Angular
- Контролери і роутери (наприклад, в Express.js, Django Views, ASP.NET Controllers)
- Форми, кнопки, сторінки, інтерфейс API
2. Бізнес-логічний шар (Business Logic Layer)
Призначення: реалізація правил і логіки застосунку. Що робить: вирішує, що саме відбудеться при діях користувача. Приклади:
- Класи сервісів, менеджери, обробники (Service, Manager, UseCase)
- Модулі, що виконують розрахунки, перевірки, валідації
- Фреймворки: Spring Services, Django Models/Services, NestJS Services
- Приклади функцій: розрахунок ціни, застосування знижки, перевірка авторизації
3. Шар даних (Data Access Layer)
Призначення: доступ до бази даних. Що робить: зберігає, витягує і оновлює дані. Приклади:
- SQL-запити, ORM-моделі (Django ORM, SQLAlchemy, Hibernate)
- Репозиторії і DAO (Data Access Objects)
- Підключення до PostgreSQL, MySQL, MongoDB та ін.
4. Інфраструктурний шар (Infrastructure Layer)
Призначення: забезпечує роботу допоміжних систем. Що робить: керує зовнішніми ресурсами, логами, файлами, мережами. Приклади:
- Конфігурації, API-клієнти, черги (RabbitMQ, Kafka)
- Сервіси сповіщень, кеш (Redis), логування
- Автентифікація і авторизація (JWT, OAuth)
5. (Іноді) Шар API чи інтеграцій
Призначення: зв'язок між внутрішньою логікою і зовнішніми системами. Приклади:
- REST / GraphQL / gRPC-контролери
- API-адаптери для сторонніх сервісів (платіжки, пошта, геолокація)
Підсумок: Типова структура вебзастосунку виглядає так:
[Презентаційний шар] → [Бізнес-логіка] → [Шар даних]
↑ ↓
[API / Інтеграції] [Інфраструктура]Такий поділ робить систему зрозумілою, модульною і легко підтримуваною.
Коротка відповідь
Для співбесідиКоротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.