Шість відомих архітектурних патернів:
➡ 𝐄𝐯𝐞𝐧𝐭-𝐃𝐫𝐢𝐯𝐞𝐧: Архітектура, керована подіями - це фреймворк, який організовує поведінку навколо створення, виявлення та споживання подій. Приклад використання: Система аналітики в реальному часі, де події генеруються діями користувачів і негайно обробляються.
➡ 𝐋𝐚𝐲𝐞𝐫𝐞𝐝: Багаторівнева архітектура - це ієрархічний шаблон для структурування системи на групи пов'язаних між собою функціональних можливостей, де кожен рівень виконує певну роль. Приклад використання: Веб-додаток з рівнем презентації, рівнем бізнес-логіки та рівнем доступу до даних.
➡ 𝐌𝐨𝐧𝐨𝐥𝐢𝐭𝐡: Монолітна архітектура - це традиційна уніфікована модель проектування програмного забезпечення, де всі компоненти взаємопов'язані та взаємозалежні. Приклад використання: Невеликий веб-сайт електронної комерції, де користувальницький інтерфейс, серверний додаток і база даних знаходяться на одній платформі.
➡ 𝐌𝐢𝐜𝐫𝐨𝐬𝐞𝐫𝐯𝐢𝐜𝐞: Архітектура мікросервісів - це підхід, при якому один додаток складається з багатьох слабко пов'язаних і незалежно розгорнутих менших сервісів. Приклад використання: Масштабний хмарний додаток на кшталт Netflix, де кожен сервіс виконує унікальний процес і взаємодіє за допомогою чітко визначеного, легкого механізму для досягнення бізнес-цілей.
➡ 𝐌𝐕𝐂 (𝐌𝐨𝐝𝐞𝐥-𝐕𝐢𝐞𝐰-𝐂𝐨𝐧𝐭𝐫𝐨𝐥𝐥𝐞𝐫): MVC - це шаблон проектування, який розділяє додаток на три взаємопов'язані компоненти: модель, представлення та контролер. Приклад використання: Десктопний додаток з графічним інтерфейсом користувача, де дані інтерфейсу користувача (подання), маніпуляції з даними (модель) і управління введенням (контролер) розділені для спрощення обслуговування і масштабування.
➡ 𝐌𝐚𝐬𝐭𝐞𝐫-𝐒𝐥𝐚𝐯𝐞: Патерн "головний-підлеглий" - це модель, в якій один головний компонент контролює один або декілька підлеглих екземплярів, які називаються підлеглими. Приклад використання: Система реплікації баз даних, де головна база даних керує записом, а підлеглі бази даних обробляють операції читання для розподілу навантаження.
А який архітектурний патерн використовуєте ви ❓❓❓