假设我需要开发一个包装器程序集,它允许使用几个底层框架中的任何一个。后者可以用于数据访问,图形或其他任何东西。这假设所有底层库提供的功能基本相同,但无论出于何种原因,您可能必须在不同情况下使用其中一个或另一个。
调用者希望编写单个规范并交换使用的任何底层框架,而不进行源代码更改。
C#和.NET中的哪些语言和框架功能可以最好地避免维护包装类库的多个副本,因为这种冗余会导致需要针对包装API的修复和增强进行多次更新? C#接口和委托是我想到的两个功能。
答案 0 :(得分:4)
您可以使用Interfaces为包装器创建大纲。
然后,您将为使用特定底层框架的每个包装器实现这些接口。
然后可以轻松地将各个包装器相互交换,而无需更改调用代码。
根据您的需要,您还可以使用配置值在运行时动态实例化给定的包装器。这将允许您交换包装器而无需重新编译代码。