Я использовал шаблон проектирования команд для создания меню в моем простом приложении.Добавление дополнительных методов для одиночной команды в шаблоне команды C#
interface ICommand
{
string Description { get; }
void Execute(Library books, List<Book> bookList);
bool ValueChecker(string checkValue);
}
Я использую ValueChecker
, чтобы проверить, если поля в моих ответах являются ИНТ только и несколько уникальны. (Я добавляю продукты в класс AddBookCommand). Было бы плохой практикой добавлять другие методы, такие как bool IsUnique
или bool IsYearLessThanCurrent
, для интерфейса, или я должен думать о других способах выполнения некоторых простых операций обработки ошибок в моем меню?
Я думаю, что вы не должны вводить слишком много логики в свои команды. Команды должны быть глупыми. Вместо этого вы должны создать обработчики команд, которые обрабатывают вашу команду. Некоторые из них могут быть валидаторами. Затем вы настраиваете цепочку обработчиков и передаете команду в цепочку. Если он проходит валидаторы, то вы продолжаете понимать. Если это не так, вы делаете что-то еще. –
@JakubRusilko не могли бы вы просветить меня небольшим образцом такого ручка? Я новичок в кодировании. – Easy
Трудно дать вам исчерпывающий пример, который будет соответствовать вашему конкретному случаю, @Easy. Однако в сети много статей о командах и т. Д. Я могу порекомендовать этот сайт: https://sourcemaking.com/design_patterns. Взгляните на шаблон Command и шаблон Chain of Responsibility, описанный на этой странице. –