Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

State pattern

19.01.20 18:15
State pattern
 
  moose коренной житель

привычная модель: абстрактный класс state с производными по штуке на state. каждый конкретный класс/объект обрабатывает поступающие/происходящие message/event по-своему.


другая, непривычная модель: абстрактный message/event обработчик, (можно обозвать его handler/processor, т.е. обработчик событий/сообщений), с производными конкретными обработчиками, по штуке на тип события/сообщения, каждый из которых обрабатывает событие в зависимости от текущего состояния.


вроде бы просто меняем в таблице столбцы со строчками. в некоторых случаях что будет строка, а что столбец продиктовано какой-то логикой, а иногда разницы нет.


вернемся к заявленной теме. я ни разу не встречал, чтобы рассматривался второй вариант, с обработчиками. и туплю, не могу понять почему: или просто уже все договорились ездить по левой/правой стороне дороги, или при каком-то варианте происходит меньше аварий?


говорит ли что-нибудь против второго варианта кроме привычки? в конце-концов мы приземляемся в чей-нибудь метод, определяемый текущим состоянием и обрабатываемым соообщением/событием. будут они сгруппированы по файлам/классам по признаку состояния или типа события - дело привычки по-моему. или все-таки что-то удобнее?

 

Перейти на