Huis Ontwikkeling Wat is een shim? - definitie van techopedia

Wat is een shim? - definitie van techopedia

Inhoudsopgave:

Anonim

Definitie - Wat betekent Shim?

Shim, in C #, is een sjabloonklasse die is afgeleid van een basisklasse met afgeleide klassen die de gegevens en het gedrag van de basisklasse erven en alleen in het type variëren. De afgeleide klasse van de shim-klasse hergebruikt de implementatie van de shim-klasse.

Shim kan worden ontworpen om te fungeren als een dunne compatibiliteitslaag, die de compatibiliteitsproblemen kan oplossen die kunnen optreden tijdens de ontwikkeling van nieuwere versies van applicaties. Het wordt ook gebruikt om applicaties uit te voeren op softwareplatforms waarvoor ze oorspronkelijk niet waren ontworpen.

Over het algemeen wordt de shim-klasse voornamelijk gebruikt om toegang tot functionaliteit te bieden alleen via de afgeleide klassen van de shim-klasse. Deze aanpak helpt code-uitbreidbaarheid te bieden. Het voorkomt ook codeduplicatie en voorkomt fouten door knippen en plakken. Dit kan lagere kosten en minder onderhoud betekenen.

Techopedia legt Shim uit

Een shim-klasse is een sjabloonklasse die type als parameter neemt. Het kan op elk niveau van een overervingsketen worden gebruikt en kan beter onderhoud en uitbreiding van de hiërarchie bieden.

Een shim-klasse kan worden geïmplementeerd met behulp van insluitings- en aggregatiemethoden. In het geval van een containment-benadering geeft de shim-klasse zijn oproepen door aan de herimplementatie van de interface om extra gedrag te bieden. In de aggregatiemethode wordt de interface naar de binnenklasse doorgegeven aan het buitenobject en is er geen specialisatie van het gedrag van het binnenobject.

Wine is bijvoorbeeld een shim waarmee veel Windows-toepassingen kunnen worden uitgevoerd op besturingssystemen zoals Linux, Solaris, enz.

In gevallen waarin de aanroep naar onbeheerde code moet worden doorgestuurd vanuit beheerde code na enkele initialisaties, kan shim-klasse worden gebruikt als een wrapper-klasse. Deze shim-klasse kan worden gemaakt als een meer generieke klasse die niet direct kan worden gebruikt, maar waarmee afgeleide klassen met gemeenschappelijke functionaliteit kunnen worden gegenereerd. Het helpt bij het bouwen van een raamwerk waarin de shim-klasse de koppeling vormt tussen de basisklasse die algemene functionaliteiten bevat en de afgeleide klassen die aangepaste functies hebben.

Een COM-shim die een Microsoft Office-hosttoepassing en beheerde extensie koppelt, biedt beveiliging en isoleert meerdere Microsoft Office-extensies.

Deze definitie is geschreven in de context van C #
Wat is een shim? - definitie van techopedia