Зміст:
Визначення - Що означає Shim?
Shim в C # - це шаблон шаблону, який є похідним від базового класу з похідними класами, які успадковують дані та поведінку базового класу і відрізняються лише типом. Виведений клас shim-класу повторно використовує реалізацію, надану shim-класом.
Shim може бути розроблений як тонкий шар сумісності, який може вирішити проблеми сумісності, які можуть виникнути під час розробки нових версій програм. Він також використовується для виконання програм на платформах програм, для яких вони не були розроблені спочатку.
Взагалі клас shim використовується в основному для забезпечення доступу до функціональності лише через похідні класи shim-класу. Цей підхід допомагає забезпечити розширюваність коду. Він також запобігає дублюванню коду і уникає помилок через вирізання та вставки. Це може означати менші витрати та менше обслуговування.
Техопедія пояснює Шим
Клас shim - клас шаблонів, який приймає тип як параметр. Він може використовуватися на будь-якому рівні ланцюга спадкування і може забезпечити кращу підтримку та розширення ієрархії.
Клас shim може бути реалізований за допомогою методів стримування та агрегації. У разі підходу до стримування клас shim передає свої дзвінки на повторну реалізацію інтерфейсу, щоб забезпечити додаткову поведінку. При методі агрегації інтерфейс до внутрішнього класу передається зовнішньому об'єкту і спеціалізації поведінки внутрішнього об'єкта немає.
Наприклад, Wine - це лайка, яка дозволяє багатьом програмам Windows виконуватись в таких операційних системах, як Linux, Solaris тощо.
У випадках, коли виклик некерованого коду потрібно переадресувати з керованого коду після деяких ініціалізацій, клас shim може використовуватися як клас обгортки. Цей клас shim може бути створений як більш загальний клас, який не можна використовувати безпосередньо, але дозволяє створювати похідні класи, які мають загальну функціональність. Він допомагає побудувати рамку, в якій клас shim утворює зв'язок між базовим класом, який містить загальні функціональні можливості, і похідними класами, які мають налаштовані функції.
COM-shim, який пов'язує хост-програму Microsoft Office та кероване розширення, допомагає забезпечити безпеку та ізолює кілька розширень Microsoft Office.
Це визначення було написано в контексті C #