Я хотел бы получить ваше мнение о следующем использовании, которое я нахожу в приложении OO в C++, и считаете ли вы его правильным или плохим. Мы используем шаблон наблюдения для imeplement Model-View-контроллер следующим образом:Шаблон наблюдателя - состояние гонки
(Subject) (notify) (Listeners)
controller ---> DB
---> Viewer
Правильно ли рассчитывать на то, что БД Registed первым в контроллер (до просмотра) и, следовательно, будет обновляться до просмотра. Это важно, потому что, когда Viewer получает уведомление, он считывает информацию из БД (потому что он предполагает, что БД уже обновлена).
EDIT: Контроллер и просмотр - это потоки, а DB нет. контроллер всегда уведомляет БД сначала и только затем уведомляет Viewer. Приложение работает правильно. Я просто подумал, что регистрация БД перед зрителем является чем-то уродливым и хотела твое мнение.
Спасибо,
Ран
Привет, Спасибо, я отредактировал вопрос. На самом деле нет сбоев, просто я подумал, что это, может быть, не «приятно» из-за требования, которое БД должно зарегистрировать до просмотра. – ransh
Я думаю, что ты прав. Этот неявный порядок исполнения (данный только по порядку регистрации) является «уродливым». Это может привести к ошибкам и приведет к ошибкам. Если не сейчас, то в какое-то время, когда другой разработчик получает ваш код и должен делать изменения. Сделайте его явным и, следовательно, пусть представление будет сообщено после изменения базы данных. Не из-за регистрационного заказа, а из-за какого-то события, вызванного изменением базы данных. –
Спасибо за предложение! – ransh