IMO, Adapter и Shim функционируют аналогично, но означают что-то другое.
A Shim
обычно имеет очень похожий, если не точный, набор интерфейсов с объектом, "отбрасываемым"."Например, прокси-объекты можно считать чем-то похожим на шим.
В то время как Adapter
обычно имеет совсем другой, если не совсем другой, набор интерфейса с адаптируемым объектом."
Обратите внимание на глагол" shim "и" adapt ".Вот как я обычно различаю их.