可以说我有一个传统的状态机/工厂,如
public class StateMachine
{
public void ProcessState(StateEnum CurrentState)
{
switch (CurrentState)
{
case StateEnum.New:
ProcessNewState();
break;
case StateEnum.Waiting:
ProcessWaitingState();
break;
++++ More states.....
}
}
void ProcessWaitingState()
{
//Do State work
}
void ProcessNewState()
{
//Do State work
}
}
但现在我想使用最佳实践(TDD、SOLID ...)和结构图来实现这一点。
为了遵循单一职责原则,我想将每个状态的处理代码放在单独的类中。此外,每个类都有自己的一组独特的依赖项,它们本身可能非常复杂。所以我认为把它们放在不同的班级是个好主意。
那么,我怎样才能在 Structuremap 中正确地做到这一点?
我知道这基本上是一个工厂类,我想将其转换为 Objectfactory。
我正在使用最新的 Structuremap 版本 2.54,在这个版本中,很多东西似乎已被弃用(或不再推荐),比如 ForRequestedType 的使用。所以我正在寻找使用新符号的正确方法。