Оглавление:
Определение - Что значит Шим?
Shim в C # - это шаблонный класс, производный от базового класса с производными классами, которые наследуют данные и поведение базового класса и различаются только по типу. Производный класс класса shim повторно использует реализацию, предоставляемую классом shim.
Shim может быть спроектирован как тонкий слой совместимости, который может решить проблемы совместимости, которые могут возникнуть при разработке более новых версий приложений. Он также используется для выполнения приложений на программных платформах, для которых они изначально не были предназначены.
В целом, класс shim в основном используется для предоставления доступа к функциональности только через производные классы класса shim. Такой подход помогает обеспечить расширяемость кода. Это также предотвращает дублирование кода и позволяет избежать ошибок из-за вырезания и вставки. Это может означать более низкую стоимость и меньше обслуживания.
Техопедия объясняет Шим
Класс shim - это шаблонный класс, который принимает тип в качестве параметра. Он может использоваться на любом уровне цепочки наследования и может обеспечить лучшее обслуживание и расширение иерархии.
Класс shim может быть реализован с использованием методов сдерживания и агрегации. В случае подхода сдерживания класс shim передает свои вызовы для повторной реализации интерфейса, чтобы обеспечить дополнительное поведение. В методе агрегации интерфейс к внутреннему классу передается внешнему объекту, и специализация поведения внутреннего объекта отсутствует.
Например, Wine - это оболочка, позволяющая запускать многие приложения Windows в операционных системах, таких как Linux, Solaris и т. Д.
В случаях, когда вызов к неуправляемому коду должен быть перенаправлен из управляемого кода после некоторых инициализаций, класс shim может использоваться как класс-оболочка. Этот класс shim может быть создан как более общий класс, который не может использоваться напрямую, но позволяет генерировать производные классы, которые имеют общие функциональные возможности. Это помогает создать структуру, в которой класс shim формирует связь между базовым классом, который содержит общие функции, и производными классами, которые имеют настраиваемые функции.
Оболочка COM, которая связывает главное приложение Microsoft Office и управляемое расширение, помогает обеспечить безопасность и изолирует несколько расширений Microsoft Office.
Это определение было написано в контексте C #
