Cale

Définition - Que signifie Shim?

Shim, en C #, est une classe de modèle dérivée d'une classe de base avec des classes dérivées qui héritent des données et du comportement de la classe de base et varient uniquement dans le type. La classe dérivée de la classe shim réutilise l'implémentation fournie par la classe shim.

Shim peut être conçu pour agir comme une fine couche de compatibilité, ce qui peut résoudre les problèmes de compatibilité qui peuvent survenir lors du développement de nouvelles versions d'applications. Il est également utilisé pour exécuter des applications sur des plates-formes logicielles pour lesquelles elles n'ont pas été conçues à l'origine.

En général, la classe shim est principalement utilisée pour fournir un accès aux fonctionnalités uniquement via les classes dérivées de la classe shim. Cette approche permet de fournir l'extensibilité du code. Il empêche également la duplication de code et évite les erreurs dues au copier-coller. Cela peut signifier des coûts inférieurs et moins d'entretien.

Definir Tech explique Shim

Une classe shim est une classe de modèle qui prend le type comme paramètre. Il peut être utilisé à n'importe quel niveau d'une chaîne d'héritage et peut fournir une meilleure maintenance et une extension de la hiérarchie.

Une classe shim peut être implémentée à l'aide de méthodes de confinement et d'agrégation. Dans le cas d'une approche de confinement, la classe shim transmet ses appels à la réimplémentation de l'interface pour fournir un comportement supplémentaire. Dans la méthode d'agrégation, l'interface vers la classe interne est passée à l'objet externe et il n'y a pas de spécialisation du comportement de l'objet interne.

Par exemple, Wine est un shim qui permet à de nombreuses applications Windows de s'exécuter sur des systèmes d'exploitation tels que Linux, Solaris, etc.

Dans les cas où l'appel au code non managé doit être transféré à partir du code managé après certaines initialisations, la classe shim peut être utilisée comme classe wrapper. Cette classe de shim peut être créée en tant que classe plus générique qui ne peut pas être utilisée directement, mais permet la génération de classes dérivées qui ont des fonctionnalités communes. Il aide à créer un cadre dans lequel la classe shim forme le lien entre la classe de base qui contient des fonctionnalités communes et les classes dérivées qui ont des fonctions personnalisées.

Un shim COM qui relie une application hôte Microsoft Office et une extension gérée permet d'assurer la sécurité et d'isoler plusieurs extensions Microsoft Office.

Cette définition a été écrite dans le contexte de C #