Ответ 1
Windows Workflow Foundation чувствует себя как overkill для меня в некоторых ситуациях. Затем проще и проще реализовать свой собственный механизм документооборота.
Примеры ссылок:
Какие альтернативы существуют для рабочего процесса Windows в стеке .Net? И если вы использовали эти решения, что заставило вас выбрать их в Windows Workflow, и это был хороший выбор.
Update:
Я пошел вперед и выбрал stateless, созданный Николасом Блумхардтом. Это очень простой подход к моделированию состояний в домене. Ниже приведен пример кода в google:
var phoneCall = new StateMachine<State, Trigger>(State.OffHook);
phoneCall.Configure(State.OffHook)
.Allow(Trigger.CallDialed, State.Ringing);
phoneCall.Configure(State.Ringing)
.Allow(Trigger.HungUp, State.OffHook)
.Allow(Trigger.CallConnected, State.Connected);
phoneCall.Configure(State.Connected)
.OnEntry(t => StartCallTimer())
.OnExit(t => StopCallTimer())
.Allow(Trigger.LeftMessage, State.OffHook)
.Allow(Trigger.HungUp, State.OffHook)
.Allow(Trigger.PlacedOnHold, State.OnHold);
phoneCall.Configure(State.OnHold)
.SubstateOf(State.Connected)
.Allow(Trigger.TakenOffHold, State.Connected)
.Allow(Trigger.HungUp, State.OffHook)
.Allow(Trigger.PhoneHurledAgainstWall, State.PhoneDestroyed);
Как вы можете видеть, конечный автомат использует generics для моделирования состояний и их соответствующих триггеров. Другими словами, вы можете использовать перечисления, целые числа, строку и т.д. В соответствии с вашими потребностями. Каждое состояние конечного автомата может быть сконфигурировано с условными триггерами, которые будут срабатывать по конкретным критериям.
Windows Workflow Foundation чувствует себя как overkill для меня в некоторых ситуациях. Затем проще и проще реализовать свой собственный механизм документооборота.
Примеры ссылок: