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

标签 c# .net api interface wrapper

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

调用者希望按照单一规范进行编码,并交换到要使用的底层框架中,而不需要更改源代码。

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

最佳答案

您将使用接口(interface)创建包装器的轮廓。

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

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

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

关于用于冗余库的 C# .NET 包装器程序集开发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13978494/

相关文章:

c# - System.NullReferenceException 未将对象引用设置为对象的实例

c# - 运行 SQL 命令并返回消息

c# - 一个奇怪的 Visual Studio 2010 调试器案例(它不能命中断点)

javascript - 在传递给 React 中的 props 之前对 JSON 格式的 API 响应进行排序

java - 了解AppKey安全性(无 secret )

django - vue js + django 应用架构

c# - 使用 Javascript 进行 WCF 身份验证

c# - 使用 c# 扩展方法线程安全读取 XElement 值吗?

c# - 任何域对象都应该不可序列化吗?

sql 在 ssms 中运行快在 asp.net 中慢