digital-garden/dev/architecture/Паттерн проектирования.md

52 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
aliases:
- паттерн
- шаблон проектирования
tags:
- maturity/🌱
date: 2023-11-05
linked:
---
- [[Dependency Injection]]
- [[Порождающий паттерн проектирования]]
- [[Builder Pattern|Builder Pattern]]: строит объекты поэтапно, разделяя процесс создания и внешний вид.
- Abstract Factory: создаёт группы связанных элементов.
- Prototype: создаёт копии полностью подготовленных экземпляров.
- Singleton: One and Only — особый класс, имеющий только один экземпляр.
- Adapter: Universal Plug — соединяет объекты с разными интерфейсами.
- Bridge: Function Connector — связывает, как объект работает, с тем, что он делает.
- Composite: Tree Builder — формирует древовидные структуры из простых и сложных частей.
- Decorator: Customizer — добавляет функции объектам, не меняя их основу.
- Facade: One-Stop-Shop — представляет всю систему через один упрощённый интерфейс.
- Flyweight: Space Saver — эффективно использует небольшие, многократно используемые элементы.
- Proxy: Stand-In Actor — представляет другой объект, управляя доступом или действиями.
- Chain of Responsibility: Request Relay — передаёт запрос по цепочке объектов до его обработки.
- Command: Task Wrapper — превращает запрос в объект, готовый к выполнению.
- Iterator: Collection Explorer — последовательно получает доступ к элементам коллекции.
- Mediator: Communication Hub — упрощает взаимодействие между различными классами.
- Memento: Time Capsule — сохраняет и восстанавливает состояние объекта.
- Observer: News Broadcaster — уведомляет классы об изменениях в других объектах.
- Visitor: Skillful Guest — добавляет новые операции классу, не изменяя его.
- [[../../../../_inbox/Transactional Inbox|Transactional Inbox]]
- [[Transactional Outbox]]
***
## Мета информация
**Область**:: [[../../meta/zero/00 Архитектура ПО|00 Архитектура ПО]]
**Родитель**:: [[Архитектурная концепция]]
**Источник**::
**Автор**::
**Создана**:: [[2023-11-05]]
### Дополнительные материалы
-
### Дочерние заметки
<!-- QueryToSerialize: LIST FROM [[]] WHERE contains(Родитель, this.file.link) or contains(parents, this.file.link) -->
<!-- SerializedQuery: LIST FROM [[]] WHERE contains(Родитель, this.file.link) or contains(parents, this.file.link) -->
- [[MVC]]
- [[Dependency Injection]]
- [[Порождающий паттерн проектирования]]
- [[Transactional Outbox]]
<!-- SerializedQuery END -->