Post #3201
2.21K
Краткая шпаргалка по архитектурным паттернам и стилям
(продолжение предыдущего поста)
1. Архитектурные паттерны (Architectural Patterns) — это проверенные решения для типичных задач проектирования архитектуры ПО. На схеме представлены ключевые паттерны:
* MVP (Model-View-Presenter) — разделяет логику представления, данные и управление взаимодействием;
* MVC (Model-View-Controller) — классическая схема разделения на модель (данные), представление (UI) и контроллер (логика взаимодействия);
* MVVM (Model-View-ViewModel) — улучшает MVC, добавляя слой ViewModel для привязки данных;
* DDD (Domain-Driven Design) — фокусируется на модели предметной области, отделяя бизнес-логику от инфраструктуры.
2. Архитектурные стили (Architecture Styles) — определяют общую структуру и взаимодействие компонентов системы. Примеры на схеме:
* Monolith — монолитная архитектура, где всё приложение — единый блок;
* Layered — слоистая архитектура (например, UI, бизнес-логика, данные);
* Event-Driven — управление через события (асинхронные взаимодействия);
* Microservices — система из независимых сервисов, взаимодействующих через API;
* Space-Based — архитектура, ориентированная на распределённое хранение данных;
* Master-Slave — главный (Master) управляет подчинёнными (Slave) узлами;
* SOA (Service-Oriented Architecture) — сервисы взаимодействуют по стандартизированным интерфейсам;
* Mikrokernel — ядро с минимальным функционалом и подключаемыми модулями;
* Serverless — выполнение кода без управления серверами (например, через облачные функции);
* Hexagonal — разделение на ядро (бизнес-логика) и адаптеры (интеграция с внешними системами);
* Clean — чёткое разделение на слои: домен, приложение, инфраструктура;
* REST — архитектурный стиль для веб-сервисов с принципами stateless, cacheable и др.
3. Паттерны проектирования (Design Patterns) — шаблоны для решения конкретных задач на уровне классов и объектов. Разделены на три группы:
* Creational (порождающие) — управляют созданием объектов:
* Factory Method, Abstract Factory, Builder, Prototype, Singleton.
* Structural (структурные) — организуют структуру классов:
* Adapter, Bridge, Decorator, Composite, Facade, Flyweight, Proxy.
* Behavioral (поведенческие) — определяют взаимодействие и алгоритмы:
* Chain of Responsibility, Command, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method, Visitor.
Итог:
* Архитектурные стили задают «скелет» системы (как компоненты взаимодействуют).
* Архитектурные паттерны — готовые схемы для конкретных задач (например, разделение логики в MVC).
* Паттерны проектирования — микрорешения для кода (как создавать, структурировать и связывать объекты).
Все эти элементы помогают проектировать ПО, балансируя между гибкостью, масштабируемостью и поддерживаемостью.
(продолжение предыдущего поста)
1. Архитектурные паттерны (Architectural Patterns) — это проверенные решения для типичных задач проектирования архитектуры ПО. На схеме представлены ключевые паттерны:
* MVP (Model-View-Presenter) — разделяет логику представления, данные и управление взаимодействием;
* MVC (Model-View-Controller) — классическая схема разделения на модель (данные), представление (UI) и контроллер (логика взаимодействия);
* MVVM (Model-View-ViewModel) — улучшает MVC, добавляя слой ViewModel для привязки данных;
* DDD (Domain-Driven Design) — фокусируется на модели предметной области, отделяя бизнес-логику от инфраструктуры.
2. Архитектурные стили (Architecture Styles) — определяют общую структуру и взаимодействие компонентов системы. Примеры на схеме:
* Monolith — монолитная архитектура, где всё приложение — единый блок;
* Layered — слоистая архитектура (например, UI, бизнес-логика, данные);
* Event-Driven — управление через события (асинхронные взаимодействия);
* Microservices — система из независимых сервисов, взаимодействующих через API;
* Space-Based — архитектура, ориентированная на распределённое хранение данных;
* Master-Slave — главный (Master) управляет подчинёнными (Slave) узлами;
* SOA (Service-Oriented Architecture) — сервисы взаимодействуют по стандартизированным интерфейсам;
* Mikrokernel — ядро с минимальным функционалом и подключаемыми модулями;
* Serverless — выполнение кода без управления серверами (например, через облачные функции);
* Hexagonal — разделение на ядро (бизнес-логика) и адаптеры (интеграция с внешними системами);
* Clean — чёткое разделение на слои: домен, приложение, инфраструктура;
* REST — архитектурный стиль для веб-сервисов с принципами stateless, cacheable и др.
3. Паттерны проектирования (Design Patterns) — шаблоны для решения конкретных задач на уровне классов и объектов. Разделены на три группы:
* Creational (порождающие) — управляют созданием объектов:
* Factory Method, Abstract Factory, Builder, Prototype, Singleton.
* Structural (структурные) — организуют структуру классов:
* Adapter, Bridge, Decorator, Composite, Facade, Flyweight, Proxy.
* Behavioral (поведенческие) — определяют взаимодействие и алгоритмы:
* Chain of Responsibility, Command, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method, Visitor.
Итог:
* Архитектурные стили задают «скелет» системы (как компоненты взаимодействуют).
* Архитектурные паттерны — готовые схемы для конкретных задач (например, разделение логики в MVC).
* Паттерны проектирования — микрорешения для кода (как создавать, структурировать и связывать объекты).
Все эти элементы помогают проектировать ПО, балансируя между гибкостью, масштабируемостью и поддерживаемостью.
- ❤ 12
- 👍 5
- 🔥 3












