.NET 4.5上的C#:
public Interface IMyInterface
{
public string DoSomething( string input1 )
}
public MyClass1 : IMyInterface
{
public string DoSomething( string input1 )
{
return "1";
}
}
public MyClass2 : IMyInterface
{
public string DoSomething( string input1 )
{
return "2";
}
}
在运行时,我想检测托管环境,设置某种“全局”,然后基于全局always实例并使用MyClass1或MyClass2。我不想拥有一个“MyClass”,然后在其中执行大量的案例逻辑来检测环境。
这样做有什么好的模式或做法?这实际上是动力学的好地方吗?
感谢。
答案 0 :(得分:1)
好像你需要使用Factory。在Factory类中创建一个方法以返回MyClass对象。将方法的返回类型保留为IMyInterface
。在该方法中,您可以执行托管逻辑,并根据托管逻辑的输出,实例化适当的类并返回对象的引用。