Являются ли «обертка» и «шим» синонимами?

15

Являются ли слова «обертка» и «шим» более или менее синонимами, или есть различие, возможно, коннотативное?

DuckMaestro
источник

Ответы:

28

Подкладка обычно написана специально для обеспечения обратной совместимости. Например, если у вас есть две версии API, версия 1 и версия 2, то вместо того, чтобы поддерживать версию 1 независимо от версии 2, вы можете написать шайбу, которая перехватывает вызовы к версии 1 API, переводит параметры в какую версию. 2 требует, а затем возвращает результаты.

Как правило, прокладка написана поставщиком API, а не потребителем.

Оболочка написана пользователем API и, как правило, написана так, что вы можете переключать базовый API без необходимости знать остальную часть кода. Например, вы можете написать оболочку базы данных, чтобы вы могли общаться с MS SQL Server или Oracle, просто переключая оболочки.

Конечно, как и в любой терминологии, существуют серые области, но я думаю, что вышеизложенное охватывает основные различия.

Дин Хардинг
источник
1
+1, точка о том, кто пишет, это хороший способ объяснить.
Стив