Pull to refresh
3
0
Send message
Если расматривать не штатные условия, что игра/приложение адски тормозит и выдает пол кадра в секунду, тормозя тем самым всю систему, то конечно до драйвера не дойдет понимание, чтобы была нажата кнопка, но это совсем другая история, и проблема не в эвентах или стейтак, а в том, что все тормозит :)
Вы описываете сценарий, когда апдейст стейтов происходит в одном потоке, а код, опрашивающий стейты, происходит в другом потоке. В однопоточной реализации, как это сделано в коде статьи, подобный сценарий невозможен. Тема работы с многопоточностью, это отдельная тема. К тому же, использование эвентов не спасает от необходимости синхронизации, так как если будет дергаться код по обработки действия из потока, в котором обновляются контролсы, то надо этот код оборачивать критическими секциями, чтобы ничего не сломать. В общем, вопросы работы с мультипоточностью не являються темой статьи.
Это вопрос кому что больше нравится, кому эвенты, кому опрос стейтов. Насчет компактее очень спорный вопрос, ибо по факту код просто из одного места перетекает в другое. В случае со стейтами, проверка на стейт, далее код в блоке, соответвующий дейсвию. В случае с эвентами, условие заменяется подписью калбека на эвент, и тот же самый код, соотвевующий действию, переезжает в калбек. То есть вопрос вкусовщины, не более, кода ни больше, ни меньше не становится.
Имена это вкусовщина, и не может быть предметом обсуждения. Хочется поразбиратся в С++, то просьба перейти на соответввующие обучающие ресурсы по С++.

Суть статьи донести идею лежащую в основе системы, само собой моя имплементация, это одна из вариантов имплементации, в вашем исполнения она будет другой, и это нормально.

Просьба давать коментарии по существу.

Information

Rating
Does not participate
Registered
Activity