Шаблон
:
Шаблони проєктування ПЗ
Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації
Перейти до пошуку
п
о
р
Шаблони проєктування програмного забезпечення
Основні шаблони
Абстрагування (програмування)
•
Делегування (Delegation)
•
Інтерфейс (Interface)
•
Інтерфейс-маркер (Marker Interface)
•
Незмінний інтерфейс (Immutable Interface)
•
Незмінний об'єкт (Immutable Object)
•
Функціональний дизайн (Functional Design)
•
Контейнер властивостей (Property Container)
•
Канал подій (Event Channel)
Твірні шаблони
Абстрактна фабрика (Abstract Factory)
•
Будівник (Builder)
•
Одинак (Singleton)
•
Прототип (Prototype)
•
Фабричний метод (Factory Method)
•
Пул об'єктів
•
Fluent builder
•
Мультитон
•
Лінива ініціалізація
•
Отримання ресурсу, як ініціалізація (Resource Acquisition Is Initialization)
Структурні шаблони
Адаптер (Adapter)
•
Декоратор (Decorator)
•
Замісник (Proxy)
•
Компонувальник (Composite)
•
Міст (Bridge)
•
Легковаговик (Flyweight)
•
Фасад (Facade)
•
Модуль
•
Виділення приватного класу даних
•
Близнюки
Шаблони поведінки
Відвідувач (Visitor)
•
Інтерпретатор (Interpreter)
•
Ітератор (Iterator)
•
Команда (Command)
•
Ланцюжок відповідальностей (Chain of Responsibility)
•
Посередник (Mediator)
•
Спостерігач (Observer)
•
Стан (State)
•
Стратегія (Strategy)
•
Знімок (Memento)
•
Шаблонний метод (Template Method)
•
Одноразовий відвідувач
•
Null object
•
Специфікація
•
Feature toggle
•
Мультиметод
•
Перехоплювач (Interceptor)
•
Накопичувач (Collecting Parameter)
•
Слуга (Servant)
Функційні
Функтор
•
Генератор
•
Замикання
•
Монади
•
Каррінг
•
Функція зворотного виклику
•
Функція вищого порядку
•
Вкладена функція
•
Результат (Result)
Патерни
конкурентного
програмування
Блокування
•
Модель акторів
•
Бар'єр
•
Монітор
•
Семафор
•
М'ютекс
•
Планувальник операційної системи
•
Локальна пам'ять ниток
•
Оптимістичне блокування (Optimistic Offline Lock)
•
Песимістичне блокування (Pessimistic Offline Lock)
•
Активний об'єкт (Active Object)
Кешування
Cashe aside
•
Read-Through Cache
•
Write-Through Cache
•
Write-Around
•
Write-Back
•
Update-Back
Архітектурні
Базові шаблони
Клієнт-серверна архітектура
•
Front end та back end
•
Триярусна архітектура
•
Гексагональна архітектура (Архітектура портів та адаптерів)
•
Відокремлений інтерфейс (Separated Interface)
•
Сервісно-орієнтована архітектура
•
Мікросервіси
•
Push/Pull модель
Шаблони об'єктного структурування
Rich/Anemic модель
•
DAO
•
Command and Query Objects
•
DTO
Шаблони представлення
MVC
•
PureMVC
•
HMVC
•
MVP
•
MVVM
•
Post/Redirect/Get
Шаблони предметно-орієнтованого проєктування
Rich/Anemic модель
•
DDD
•
Інваріант
•
Entity
•
Value Object
•
Aggregate Root
•
DTO
•
Repository
•
Патерн сервісного рівня (Service Layer)
•
Фабричний метод (Factory Method)
•
Специфікація
Шаблони сервісно-орієнтованої архітектури
Сервісно-орієнтована архітектура
•
Мікросервіси
•
Шлюз (Gateway)
•
Публікація-підписка
•
Інтеграційна шина даних
•
Event Sourcing
•
Двофазна транзакція
•
Saga
•
Circuit breaker
•
Асинхронна http модель
Архітектура
корпоративних
програмних
додатків
Базові шаблони
Об'єкт-значення (Value Object)
•
Гроші (Money)
•
Особливий випадок (Special Case)
•
Супертип рівня (Layer Supertype)
•
Відокремлений інтерфейс (Separated Interface)
•
Шлюз (Gateway)
•
Розподільник (Mapper)
•
Реєстр (Registry)
•
Плагін (Plugin)
•
Набір записів (Record Set)
•
Заглушка сервісу (Service Stub)
Шаблони логіки домену
Сценарій транзакції (Transaction script)
•
Модель предметної області (Domain model)
•
Обробник таблиці (Table Module)
•
Патерн сервісного рівня (Service Layer)
Шаблони сховища даних
Активний запис (Active Record)
•
Шлюз до даних таблиці (Table Data Gateway)
•
Шлюз до даних запису (Row Data Gateway)
•
Відображення даних (Data Mapper)
Шаблони об'єктно-реляційної поведінки
Одиниця роботи (Unit Of Work)
•
Мапа відповідності (Identity Map)
•
Ліниве завантажування (Lazy Load)
Шаблони об'єктно-реляційного структурування
Поле первинного ключа (Identity Field)
•
Розмітка зовнішніх ключів (Foreign Key Mapping)
•
Розмітка зв'язків таблиць (Association Table Mapping)
•
Відображення залежних об'єктів (Dependent Mapping)
•
Об'єднане значення (Embedded Value)
•
Серіалізований великий об'єкт (Serialized LOB)
•
Наслідування з однією таблицею (Single Table Inheritance)
•
Наслідування з таблицею для кожного класу (Class Table Inheritance)
•
Наслідування з таблицею для кожного конкретного класу (Concrete Table Inheritance)
•
Відображення із наслідуванням (Inheritance Mappers)
•
База даних звітності
Шаблони обробки об'єктно-реляційних метаданих
Відображення на основі метаданих (Metadata Mapping)
•
Об'єкт-запит (Query Object)
•
Сховище (Repository)
Шаблони вебпредставлення
Модель-вид-контролер (Model View Controller)
•
Контролер сторінки (Page Controller)
•
Єдина точка входу (Front controller)
•
Контролер аплікації (Application Controller)
•
Шаблонізатор (Template View)
•
Перетворювач (Transform View)
•
Двокрокова шаблонізація (Two Step View)
Шаблони розподіленої обробки даних
Фасад (Remote Facade)
•
Об'єкт передачі даних (Data Transfer Object)
Шаблони локального конкурентного програмування
Оптимістичне блокування (Optimistic Offline Lock)
•
Песимістичне блокування (Pessimistic Offline Lock)
•
Блокування із низьким рівнем деталізації (Coarse Grained Lock)
•
Неявне блокування (Implicit Lock)
Шаблони збереження стану сеансу
Збереження стану сеансу на стороні клієнта (Client Session State)
•
Збереження стану сеансу на стороні сервера (Server Session State)
•
Збереження стану сеансу в базі даних (Database Session State)
Тестування
PageObject
•
Макет об'єкта (Mock Object)
•
Заглушка сервісу (Service Stub)
•
Скромний об'єкт (Humble Object)
Інші
Впровадження залежностей
•
IoC контейнер
•
Локатор служб (Service Locator)
•
М'яке видалення (Soft Delete)
•
Auditable Entity
•
Entity Component System (ECS)
•
Extract, Transform, Load (ETL)
Див. також
Design Patterns (книга)
•
Бізнес-логіка
•
Інваріант
•
Зв'язність (Coupling)
•
Пов'язаність (Cohesion)
•
Закон Деметри
•
KISS
•
DRY
•
YAGNI
•
Tell Don't Ask
•
SOLID
•
CQRS
•
GRASP
•
Ідемпотентність
•
Мартін Фаулер
•
Антипатерн
Категорія
:
Навігаційні шаблони:Інформаційні технології
Навігаційне меню
Особисті інструменти
Ви не увійшли до системи
Обговорення
Внесок
Створити обліковий запис
Увійти
Простори назв
Шаблон
Обговорення
українська
Перегляди
Читати
Редагувати код
Переглянути історію
Більше
Пошук
Навігація
Головна сторінка
Поточні події
Нові редагування
Нові сторінки
Випадкова стаття
Участь
Портал спільноти
Кнайпа
Довідка
Пожертвувати
Сторінка для медіа
Інструменти
Посилання сюди
Пов'язані редагування
Спеціальні сторінки
Постійне посилання
Інформація про сторінку
Отримати вкорочену URL-адресу
Завантажити QR-код
Елемент Вікіданих
Друк/експорт
Завантажити як PDF
Версія до друку
Іншими мовами
العربية
Български
Català
Deutsch
English
فارسی
Français
Հայերեն
Italiano
日本語
한국어
Norsk bokmål
Polski
Русский
Svenska
தமிழ்
Türkçe
Tiếng Việt
中文
Редагувати посилання