c#如何从配置文件中选择test或prod类

时间:2012-12-31 09:42:41

标签: testing cloud

我已经构建了一个月的云项目。我的问题是:

我有两个类用于连接Ibm Web服务。第一类是主类,第二类是测试类。我将一个键值放在配置文件中的appSetting。

如果configFile中的值为“TEST”,则项目将使用测试类,如果值为“PROD”,则项目将使用主类。当我更改配置中的值时,我不会随处更改。

我的经理给了我建议使用“界面”,但我不明白。

我如何基本解决这个问题?

1 个答案:

答案 0 :(得分:1)

您的测试类和prod类都可以实现所述接口。如果您需要使用在您使用哪个类的配置文件中进行选择的方法,那么最好创建一个返回正确接口实现的数据工厂类。数据工厂读取配置文件,并根据应用程序设置中的值返回实现该接口的正确类。

在C#中执行此操作的示例(该概念在其他oo语言中也是如此):

来自通话类:

SomethingFactory factory = new SomethingFactory(); ISomething testOrProdObj = factory.GetCorrectImplementation(); var result = testOrProdObj.MyMethod();

在工厂类中:

public class SomethingFactory { public ISomething GetCorrectImplementation() { //Do a check in appsettings to decide which class (TESTSomething or PRODSomething) to instantiate and return } }

接口的实现

public class TESTSomething : ISomething

public class PRODSomething : ISomething