Час від часу я стикався із сценаріями, коли перед тим, як викликати подію, необхідно виконати кілька складних умов. Крім того, більшість слухачів також проводять додаткові перевірки для визначення ходу дії. Це змусило мене задуматися, чи краще рішення буде думати про менші події, і нехай вони спрацьовують всередині один одного.
Зв'язані події дають мені змогу пізніше залучити будь-яких додаткових слухачів із досить невеликими зусиллями (можливе порушення YAGNI?). Мій код складався з простих легко зрозумілих елементів, які не повинні бути важкими для розуміння оточуючим.
Однак можливими недоліками цього рішення буде той факт, що якщо щось трапиться неправильно в ланцюжку (наприклад, помилка, що викликається помилкою події людини), виявити помилку буде досить важко.
Чи є подія ланцюжком гарною ідеєю TM ? Якщо ні, то які альтернативні способи уникнути захаращення коду, пов’язаного з подіями?
{A + B} > C > {D & E}
<br> Це впевнено допомагає писати складні рішення за менший час, але як багато згаданих раніше, тестування та налагодження все ще біль.