也将其发布在结构图组上。我们上周才开始使用结构图,并且正在深入研究它。
我确定我错过了一些简单的东西。
我正在尝试在我的工厂中使用 SM 来模仿以下代码。我可以在工厂类中拥有容器依赖项。该线程中的共识似乎是这是正确的方法: http ://www.codeplex.com/unity/Thread/View.aspx?ThreadId=29697 。如果有更好的方法,我愿意听取其他方法来实现这一点。
基本上我工厂的 Create 方法将接受一个枚举值(它可能是一个实际类型,但无论哪种方式它都不是由容器控制的东西),并且应该返回正确的实例。请注意,返回类型将由 SM 管理。我不想把所有的依赖都放在工厂的 Ctor 中,因为可能有很多(!)。
public class PreSaveActionFactory : IPreSaveActionFactory
{
public IPreSaveAction Create(MyEnumType enumType)
{
IPreSaveAction action;
switch (enumType)
{
case MyEnumType.Value1:
//imagine this has 3 Ctor arguments
action = new Value1PreSaveAction();
break;
case MyEnumType.Value2:
//and imagine this has 4 completely different Ctor arguments
action = new Value2PreSaveAction();
break;
default:
throw new NotSupportedException();
}
return action;
}
}
我链接到文档的正确部分很好,您不需要为我编写代码(尽管我不会抱怨:))。我想知道工厂长什么样,还有注册码。