Innehållsförteckning:
Definition - Vad betyder Shim?
Shim, i C #, är en mallklass som härleds från en basklass med härledda klasser som ärver data och beteende för basklassen och endast varierar i typen. Den härledda klassen för shim-klassen återanvänder implementeringen som tillhandahålls av shim-klassen.
Shim kan utformas för att fungera som ett tunt kompatibilitetslager, vilket kan lösa kompatibilitetsproblem som kan uppstå under utvecklingen av nyare versioner av applikationer. Det används också för att köra applikationer på programvaruplattformar för vilka de inte ursprungligen var designade.
I allmänhet används shim-klassen främst för att ge åtkomst till funktionalitet endast genom de härledda klasserna i shim-klassen. Detta tillvägagångssätt hjälper till att ge kodutdragbarhet. Det förhindrar också koddubbling och undviker fel på grund av klippning och klistra in. Detta kan innebära lägre kostnader och mindre underhåll.
Techopedia förklarar Shim
En mellanläggsklass är en mallklass som tar typ som en parameter. Det kan användas på vilken nivå som helst i en arvskedja och kan ge bättre underhåll och utvidgning av hierarkin.
En mellanläggsklass kan implementeras med hjälp av inneslutnings- och aggregeringsmetoder. I händelse av en inneslutningstrategi vidarebefordrar shim-klassen sina samtal till återimplementering av gränssnittet för att ge ytterligare beteende. I aggregeringsmetoden överförs gränssnittet till den inre klassen till det yttre objektet och det finns ingen specialisering av beteendet hos det inre objektet.
Till exempel är Wine ett mellanlägg som gör att många Windows-applikationer kan köras på operativsystem som Linux, Solaris etc.
I de fall där samtalet till ostyrd kod måste vidarebefordras från hanterad kod efter vissa initieringar, kan shimklass användas som en omslagsklass. Denna shim-klass kan skapas som en mer generisk klass som inte kan användas direkt men som möjliggör generering av härledda klasser som har gemensam funktionalitet. Det hjälper till att bygga ett ramverk där shim-klassen bildar länken mellan basklassen som innehåller vanliga funktionaliteter och de härledda klasserna som har anpassade funktioner.
Ett COM-mellanlägg som länkar till en Microsoft Office-värdapplikation och hanterad tillägg hjälper till att ge säkerhet och isolerar flera Microsoft Office-tillägg.
Denna definition har skrivits i samband med C #
