моделирование конечного автомата для вечера - PullRequest
0 голосов
/ 09 марта 2012

Допустим, у нас есть FSM для личного сообщения.Давайте посмотрим, что происходит, когда он входит в состояние delivered.Что вы думаете о следующих подходах или есть другой?

  1. Есть 3 состояния: delivered, unread и read.Перейдите автоматически в состояние unread.
  2. Имеется 2 состояния: delivered и read.Оставайтесь в состоянии delivered и считайте, что оно непрочитано.При необходимости перейдите в состояние read.

Комментарии:

  1. Это хорошая идея?Из-за этого состояние delivered кажется излишним.
  2. Сначала кажется, что мы сохранили состояние.Представьте, если мы предоставляем функциональность «пометить как непрочитанное».Должны ли мы перейти от read обратно к delivered?Это кажется немного нелогичным с точки зрения разработчика.

1 Ответ

0 голосов
/ 16 июня 2012

Отмечая, что вы автоматически выходите из доставленного, вы правы, что это состояние является избыточным.Поэтому легко оптимизировать бессмысленное состояние.В конце концов, доставлено означает, что вы вообще в этом автомате.

Если у вас есть прочитанное сообщение, и вы пометили его как непрочитанное, просто переместите его обратно в непрочитанное.Вот что означает кнопка, и вы можете обращаться с ней интуитивно.Итак, просто упростите вашу систему до двух состояний (один бит).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...