目录:
定义-Shim是什么意思?
在C#中,Shim是一个模板类,它是从基类派生的,而派生类继承了基类的数据和行为,并且仅在类型上有所不同。 shim类的派生类重用了shim类提供的实现。
可以将Shim设计为充当薄的兼容性层,它可以解决在开发较新版本的应用程序期间可能出现的兼容性问题。 它还用于在最初未为其设计软件平台上执行应用程序。
通常,垫片类主要用于仅通过垫片类的派生类提供对功能的访问。 这种方法有助于提供代码可扩展性。 它还可以防止代码重复,并避免由于剪切和粘贴而导致的错误。 这可以降低成本并减少维护。
Techopedia解释了Shim
填充程序类是将类型作为参数的模板类。 它可以在继承链的任何级别使用,并且可以更好地维护和扩展层次结构。
垫片类可以使用包含和聚合方法来实现。 在包含方法的情况下,shim类将其调用传递给接口的重新实现以提供其他行为。 在聚合方法中,将内部类的接口传递给外部对象,并且内部对象的行为没有专门化。
例如,Wine是一种填充程序,它使许多Windows应用程序都能在Linux,Solaris等操作系统上执行。
如果在某些初始化后需要从托管代码转发对非托管代码的调用,则可以将shim类用作包装器类。 可以将这个shim类创建为一个更通用的类,该类不能直接使用,但可以生成具有通用功能的派生类。 它有助于构建一个框架,其中填充程序类在包含通用功能的基类与具有自定义功能的派生类之间形成链接。
链接Microsoft Office主机应用程序和托管扩展的COM填充程序有助于提供安全性并隔离多个Microsoft Office扩展。
该定义是在C#上下文中编写的