imports System.Configuration; public class DataServiceFactory { private DataServiceFactory() { // No instantiation allowed! } public static IDataService GetDataService() { string sServiceSetting = ConfigurationSettings.AppSettings["dataservice"]; string[] availableServices = sServiceSetting.Split(','); IDataService dataService = null; // We try all services until we find a valid one foreach (string service in availableServices) { switch (service) { case "sqlserver": dataService = new SqlServerDataService(); if (dataService.IsValid()) { return dataService; } break; case "webservice": dataService = new SqlWebDataService(); if (dataService.IsValid()) { return dataService; } break; } } return dataService; } }