我已经开始查看WF并且无法了解它如何替换我的Domain对象功能。 这是简单的域对象场景:
class Order {
public int Id {get;}
public OrderStatus Status {get;private set;}
public void Approve () {
if (Status >= OrderStatus.Approved)
throw new InvalidOperationException("It is impossible to approve as order
Status:" + Status);
privateMethodCall();
Status = Status.Approved;
}
public void Complete () {
if (Status >= OrderStatus.Completed)
throw new InvalidOperationException("It is impossible to Complete as order
Status:" + Status);
privateMethodCall1();
Status = Status.Completed;
}
}
我已经读过WF可以做得更好,因为Approve和Complete代码将放在一个地方 并且不可能以错误的顺序调用它们。这是真的吗?如果它是真的你能告诉我它如何使用对象模型(而不是xaml)在WF中看。
提前致谢。
答案 0 :(得分:1)
有两种方法可以使用工作流程:
但是,如果你已经拥有可行的代码,我就不会改变它,你只需添加额外的复杂层而不会获得任何商业价值。