«умеют» выполнять какие-то команды.
Например, класс который умеет печатать информацию по топикам по команде “info <topic>”. А есть класс, который может напечатать отчёт.
Есть класс «Брокер».
В него кидаются команды и он запоминает их в коллекции.
Когда «Брокер» принимает запрос от пользователя то он спрашивает каждую команду: ты это можешь выполнить? Если класс-команда не понимает о чём речь то возвращает false. Если понимает — то выполняет (пусть и с ошибками) и возвращает true.
Брокер даёт запрос от пользователя всем командам, пока не получит true. Если все команды вернули «false» то брокер печатает «неизвестная команда».
Как может называться такой паттерн?
Тут надо скорее взять либу для написание cli а не писать свои костыли
Я не правильно сформулировал вопрос. Программа печатает подсказку: «введите команду».
Как это меняет вопрос?
Я не понял про костыли.
Паттерн команда
Не уверен, что именно это. https://refactoring.guru/ru/design-patterns/command
По твоему описанию подходит паттерн команда
Обсуждают сегодня