用于冗余库的C#.NET包装程序集开发

时间:2012-12-20 18:44:24

标签: c# .net api interface wrapper

假设我需要开发一个包装器程序集,它允许使用几个底层框架中的任何一个。后者可以用于数据访问,图形或其他任何东西。这假设所有底层库提供的功能基本相同,但无论出于何种原因,您可能必须在不同情况下使用其中一个或另一个。

调用者希望编写单个规范并交换使用的任何底层框架,而不进行源代码更改。

C#和.NET中的哪些语言和框架功能可以最好地避免维护包装类库的多个副本,因为这种冗余会导致需要针对包装API的修复和增强进行多次更新? C#接口和委托是我想到的两个功能。

1 个答案:

答案 0 :(得分:4)

您可以使用Interfaces为包装器创建大纲。

然后,您将为使用特定底层框架的每个包装器实现这些接口。

然后可以轻松地将各个包装器相互交换,而无需更改调用代码。

根据您的需要,您还可以使用配置值在运行时动态实例化给定的包装器。这将允许您交换包装器而无需重新编译代码。