Вы когда-нибудь сталкивались с ситуацией, подобной этому, и если да, то как вы ее разрешили?Высокоуровневый шаблон для динамического прогрессирования состояния?
У нас есть запись, которая проходит через несколько стадий прогрессии, таких как: представление
- > предварительная оценка - > окончательный обзор - > активного
Порядок прогрессии для этих основных типов статуса гарантируется. Однако есть факторы, которые усложняют вещи значительно:
Некоторые из этих состояний могут потребовать ряд дополнительных условий, которые будут выполнены до звукозаписывающих переходит к следующему состоянию . Некоторые из этих условий или «под-состояния» могут быть необязательными, и могут потребоваться , или это может быть , необходимое для соответствия критериям «Любой 2 из 3 возможных условий». Эти подкатегории могут быть встречены в любом порядке.
Процесс может быть изменен динамически и отличается для различных групп. То есть, существует несколько групп в системе, и пользователь из каждой группы можно указать, какие состояния и Подусловие , участвующие в процессе (В некоторых штатах и Подусловия могут быть пропущены для некоторых групп). Нам нужно сохранить процесс в базе данных так или иначе, чтобы облегчить это.
Теперь, я знаю, что это довольно сложный набор критериев, так что я не ожидаю много обратной связи .. но мне интересно, если есть некоторый опубликованный шаблон проектирования, метод или подход у» все знают, чтобы помочь реализовать это элегантным способом. Мои сотрудники и я потратили часы, пытаясь найти лучшее решение, но я все еще чувствую, что наше нынешнее решение просто слишком уродливое.
Не стесняйтесь добавлять комментарии, если вы хотите получить более подробное пояснение - это довольно сложная проблема для описания, поэтому меня это не удивит, если я не буду достаточно ясным. Благодаря!
+1 для предложения отличного решения и времени для исследования и ответа на вопрос, пока все остальные меня прошли мимо. Мы внедрили одно из наших уродливых решений, но я очень хочу исследовать концепции, на которые вы ссылались. Благодаря ja. –