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