Spisu treści:
Definicja - Co znaczy Shim?
Shim, w języku C #, jest klasą szablonu, która jest pochodną klasy podstawowej z klasami pochodnymi, które dziedziczą dane i zachowanie klasy podstawowej i różnią się tylko typem. Klasa pochodna klasy shim wykorzystuje ponownie implementację dostarczoną przez klasę shim.
Shim można zaprojektować tak, aby działał jak cienka warstwa zgodności, która może rozwiązać problemy ze zgodnością, które mogą wystąpić podczas opracowywania nowszych wersji aplikacji. Służy również do uruchamiania aplikacji na platformach programowych, dla których nie zostały pierwotnie zaprojektowane.
Ogólnie rzecz biorąc, klasa podkładki stosowana jest głównie w celu zapewnienia dostępu do funkcjonalności tylko za pośrednictwem pochodnych klas podkładki. Takie podejście pomaga zapewnić rozszerzalność kodu. Zapobiega także duplikowaniu kodu i zapobiega błędom wynikającym z wycinania i wklejania. Może to oznaczać niższe koszty i mniej konserwacji.
Techopedia wyjaśnia Shim
Klasa shim to klasa szablonów, która przyjmuje parametr jako parametr. Może być używany na dowolnym poziomie łańcucha dziedziczenia i może zapewnić lepszą obsługę i rozszerzenie hierarchii.
Klasa shim może być zaimplementowana przy użyciu metod ograniczania i agregacji. W przypadku podejścia ograniczającego klasa shim przekazuje swoje wywołania do ponownej implementacji interfejsu w celu zapewnienia dodatkowego zachowania. W metodzie agregacji interfejs do klasy wewnętrznej jest przekazywany do obiektu zewnętrznego i nie ma specjalizacji w zachowaniu obiektu wewnętrznego.
Na przykład Wine to podkładka umożliwiająca uruchamianie wielu aplikacji Windows w systemach operacyjnych takich jak Linux, Solaris itp.
W przypadkach, gdy wywołanie niezarządzanego kodu musi zostać przekazane z kodu zarządzanego po niektórych inicjalizacjach, klasa shim może być używana jako klasa opakowania. Tę klasę shim można utworzyć jako bardziej ogólną klasę, której nie można użyć bezpośrednio, ale pozwala ona na generowanie klas pochodnych o wspólnej funkcjonalności. Pomaga zbudować strukturę, w której klasa shim tworzy połączenie między klasą podstawową, która zawiera wspólne funkcje, a klasami pochodnymi, które mają dostosowane funkcje.
Podkładka COM łącząca aplikację hosta Microsoft Office i zarządzanego rozszerzenia pomaga zapewnić bezpieczeństwo i izoluje wiele rozszerzeń Microsoft Office.
Ta definicja została napisana w kontekście C #