我必须调用三个 Web 服务来完成一些工作。它们都接受一个对象(不同的对象)作为输入参数和一个对象(不同的对象)作为输出参数。请看下面的数据库表:
CREATE TABLE WebServices (id int identity not null, webaddress varchar(50), classname varchar(30), inputParameter varchar(30), outputparameter varchar(30), function varchar(30))
INSERT INTO WebServices (classname, webaddress, inputparameter, outputparameter,function) values ('WebService1', 'http://localhost/webservice1.asmx', "object1", "object2", "function1")
INSERT INTO WebServices (classname, webaddress, inputparameter, outputparameter,function) values ('WebService2', 'http://localhost/webservice2.asmx', "object3", "object4", "function2")
INSERT INTO WebServices (classname, webaddress, inputparameter, outputparameter,function) values ('WebService3', 'http://localhost/webservice3.asmx', "object4", "object5", "function3")
在代码中,我将从数据库中的值构造类。这是可取的/可能的吗?我相信我可以通过反思来做到这一点。
或者,我会以通常的方式创建三个新类,并使用工厂返回适当的类,如下所示:
If id=1 then
return new WebService1
ElseIf id=2 then
return new webservice2
ElseIf id=3 then
return new webservice3
End If
我在徘徊,哪个选项更好。