Типы шаблонов проектирования

Шаблоны проектирования (или паттерны проектирования) делятся на несколько категорий в зависимости от их основного назначения и характеристик. Вот основные категории шаблонов проектирования:

  1. Порождающие шаблоны (Creational Patterns):
    • Фабричный метод (Factory Method)
    • Абстрактная фабрика (Abstract Factory)
    • Одиночка (Singleton)
    • Строитель (Builder)
    • Прототип (Prototype)
  2. Структурные шаблоны (Structural Patterns):
    • Адаптер (Adapter)
    • Мост (Bridge)
    • Компоновщик (Composite)
    • Декоратор (Decorator)
    • Фасад (Facade)
    • Прокси (Proxy)
  3. Поведенческие шаблоны (Behavioral Patterns):
    • Цепочка обязанностей (Chain of Responsibility)
    • Команда (Command)
    • Итератор (Iterator)
    • Посредник (Mediator)
    • Хранитель (Memento)
    • Наблюдатель (Observer)
    • Состояние (State)
    • Стратегия (Strategy)
    • Шаблонный метод (Template Method)
    • Посетитель (Visitor)
  4. Шаблоны архитектур (Architectural Patterns):
    • MVC (Model-View-Controller)
    • MVP (Model-View-Presenter)
    • MVVM (Model-View-ViewModel)
    • Слойная архитектура (Layered Architecture)
    • Микросервисная архитектура (Microservices)
  5. Шаблоны управления состоянием (State Management Patterns):
    • Redux (Redux)
    • Flux (Flux)
    • Mobx (Mobx)
  6. Шаблоны параллелизма и конкурентности:
    • Lock (Замок)
    • Read-Write Lock (Замок чтения-записи)
    • Semaphore (Семафор)
    • Monitor (Монитор)
    • Future (Фьючерс)
    • Promise (Промис)
    • Актор (Actor)
  7. Шаблоны работы с базами данных:
    • Active Record (Активная запись)
    • Data Mapper (Сопоставитель данных)
    • ORM (Object-Relational Mapping, Сопоставление объектов и реляционных данных)
  8. Шаблоны для веб-разработки:
    • MVC (Model-View-Controller)
    • Middleware (Промежуточное программное обеспечение)
    • RESTful API (RESTful API)
    • GraphQL (GraphQL)
  9. Шаблоны для работы с пользовательским интерфейсом:
    • MVC (Model-View-Controller)
    • MVP (Model-View-Presenter)
    • MVVM (Model-View-ViewModel)
    • Фасад (Facade)
    • Декоратор (Decorator)
    • Наблюдатель (Observer)
    • Команда (Command)
  10. Шаблоны для тестирования:
    • Мок (Mock)
    • Фиктив (Stub)
    • Заглушка (Dummy)
    • Фабрика тестовых объектов (Test Data Builder)
    • Использование вмешательства (Test Spy)
    • Прототип (Test Data Factory)

Каждая из этих категорий содержит шаблоны, разработанные для решения определенных классов задач и проблем в разработке программного обеспечения. Выбор конкретного шаблона зависит от контекста и требований вашего проекта.