Да, использую. Паттерн Command инкапсулирует запрос как объект, тем самым позволяя параметризовать клиенты с различными запросами, ставить запросы в очередь или протоколировать их, а также поддерживать операции отмены.
Применяю его в следующих случаях:
Пример структуры:
Command (интерфейс или абстрактный класс) с методом execute().SaveCommand, OpenCommand, PrintCommand), реализующие Command.Invoker (инициатор), который вызывает метод execute() у объекта команды.Receiver (получатель), который выполняет фактическую работу (бизнес-логику).java