SYSTEM ATLASЗагрузка материала

Паттерн «Команда»

Command Pattern

Представляет действие как объект, который можно сохранять, повторять и отменять.

Простыми словами

Представьте заказ-наряд: в нём записано, что нужно сделать, кто исполнитель и можно ли отменить действие. Команда превращает вызов в отдельный объект, поэтому его можно поставить в очередь, повторить, сохранить в журнале или откатить.

Механизм действия

Механизм «Паттерн «Команда»» связывает исходное условие с наблюдаемым следствием. В программных системах и инженерных процессах сначала определяют, присутствует ли условие из определения, затем проверяют, как оно меняет структуру компонентов, потоки данных, ограничения и действия участников. Ожидаемый результат формулируется так: Представляет действие как объект, который можно сохранять, повторять и отменять. Если промежуточная связь не наблюдается, концепция не должна использоваться как готовое объяснение.

Пример в работе

Нерабочий подход

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

Системный подход

Сначала определить механизм, затем выбрать минимальное изменение и измерить результат.

Ограничения

«Паттерн «Команда»» выделяет только часть причин, значимых для области «Архитектура ПО». Концепция сама по себе не сообщает величину и скорость эффекта, не доказывает причинность и не заменяет измерения. Указанный источник задаёт исходную рамку, но перенос в новый контекст всё равно требует отдельной проверки. Границы применимости могут измениться при другом масштабе, среде, составе участников или временном горизонте.

Источник

Erich Gamma; Richard Helm; Ralph Johnson; John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software (1994).

Первоисточник