Я хочу выпустить серию выполнения команд, но только тогда, когда предыдущая команда сработала. Прямо сейчас я поднимаю событие внутри объекта команды, указывающее, была ли команда успешной или неудачной. Я использую это для контроля исполнения, но он чувствует себя неэлегантным.Command Pattern: Выполнение нескольких команд в последовательности
Пример:
command1.CommandSucceeded += delegate { command2.Execute(); };
command1.Execute();
Это работает, но он чувствует себя неуклюжим и неинтуитивными. Я мог бы передать логическое значение в Execute(), указывающее на успех или неудачу, но это по тому же пути. Я мог бы исключать ошибки при сбое, что могло бы привести к более чистым кодам, но может быть излишним.
Любые предложения?
Да цепочка обязанностей здесь полезна. – pjp
Не знал, что это называется. Спасибо за информацию. –
Цепь цепочки ответственности кажется подходящей. Спасибо за ответ. – Josh