Indholdsfortegnelse:
Definition - Hvad betyder Shim?
Shim, i C #, er en skabelonklasse, der er afledt fra en baseklasse med afledte klasser, der arver data og opførsel af baseklassen og kun varierer i typen. Den afledte klasse af shim-klassen genbruger implementeringen leveret af shim-klassen.
Shim kan designes til at fungere som et tyndt kompatibilitetslag, som kan løse kompatibilitetsproblemer, der kan opstå under udviklingen af nyere versioner af applikationer. Det bruges også til at udføre applikationer på softwareplatforme, som de ikke oprindeligt var designet til.
Generelt bruges shim-klassen hovedsageligt til at give adgang til funktionalitet kun gennem de afledte klasser af shim-klassen. Denne tilgang hjælper med at give kodeudvidelsesmuligheder. Det forhindrer også kodeduplicering og undgår fejl på grund af klipning og indsætning. Dette kan betyde lavere omkostninger og mindre vedligeholdelse.
Techopedia forklarer Shim
En mellemklasse er en skabelonklasse, der tager typen som en parameter. Det kan bruges på ethvert niveau i en arvekæde og kan give bedre vedligeholdelse og udvidelse af hierarkiet.
En shim-klasse kan implementeres ved hjælp af indeslutnings- og aggregeringsmetoder. I tilfælde af en indeslutningstilgang overfører shim-klassen sine opfordringer til genimplementering af grænsefladen for at give yderligere opførsel. I aggregeringsmetoden overføres grænsefladen til den indre klasse til det ydre objekt, og der er ingen specialisering af opførelsen af det indre objekt.
F.eks. Er Wine et mellemlæg, der gør det muligt for mange Windows-applikationer at køre på operativsystemer som Linux, Solaris osv.
I tilfælde, hvor opkaldet til ustyret kode skal videresendes fra den administrerede kode efter nogle initialiseringer, kan shim-klasse bruges som en indpakningsklasse. Denne shim-klasse kan oprettes som en mere generisk klasse, der ikke kan bruges direkte, men giver mulighed for generering af afledte klasser, der har fælles funktionalitet. Det hjælper med at opbygge en ramme, hvor shim-klassen danner forbindelsen mellem baseklassen, der indeholder fælles funktionaliteter og de afledte klasser, der har tilpassede funktioner.
Et COM-mellemlæg, der forbinder et Microsoft Office-værtsapplikation og en administreret udvidelse, hjælper med at give sikkerhed og isolerer flere Microsoft Office-udvidelser.
Denne definition blev skrevet i forbindelse med C #