我正在研究一个C#web应用程序,该应用程序具有一个带小区域的页面(MainPage)以显示小工具。有几种小工具实现主界面(IMainInterface)和可选界面(IOptionalInterface)。使用API封装界面的目的
在的MainPage,与小工具类交互时,它使用的语法如下:
MyAPI api = new MyAPI();
api.SomeMethod(gadgetClassName, param);
而且在api.SomeMethod(...),但它下面:
// use reflection to get an IMainInterface based on gadgetClassName
Type t = Type.GetType(gadgetClassName);
IMainInterface gadget = (IMainInterface)t.InvokeMember(
gadgetClassName,
BindingFlags.CreateInstance,
null,
null,
null);
return gadget.SomeMethod(param)
看着这个MyAPI类包含了一大堆映射到IMainInterface和IOptionalInterface中定义的相应方法的方法。
我的问题,这是MyAPI类真的neccesary?如果MainPage直接访问接口(IMainInterface和IOptionalInterface),会不会降低开销?
更新:看到一些答案,我意识到我并不清楚“几种小工具”是指不同的类(例如CalendarGadget,TaskGadget)。
更新2:增加更多的代码示例
我不认为有一个在你的问题,给你充足的回答中提供足够的代码。 api.SomeMethod()中的其他一些代码是什么?它如何使用反射? – 2009-09-16 23:59:49
修改了这个问题,以包括更多的信息在api.SomeMethod() – 2009-09-17 17:23:34