¿Son sinónimos "wrapper" y "shim"?

14

¿Las palabras "envoltorio" y "calza" son más o menos sinónimos, o hay una distinción, quizás connotativa?

    
pregunta DuckMaestro 10.04.2011 - 21:46

1 respuesta

26

Una calza es típicamente algo escrito específicamente para mantener la compatibilidad con versiones anteriores. Por ejemplo, si tiene dos versiones de una API, la versión 1 y la versión 2, en lugar de mantener la versión 1 independientemente de la versión 2, puede escribir un shim que intercepte las llamadas a la versión 1 de la API. , traduce los parámetros a lo que requiere la versión 2 y luego devuelve los resultados.

Por lo general, el proveedor de la API escribe un shim, en lugar de un consumidor.

El consumidor de una API escribe una envoltura y, por lo general, se escribe para que pueda cambiar la API subyacente sin que el resto de su código tenga que saberlo. Por ejemplo, puede escribir un contenedor de base de datos para que pueda hablar con MS SQL Server u Oracle, simplemente cambiando los contenedores.

Por supuesto, como con cualquier terminología, hay áreas grises, pero creo que lo anterior cubre las principales diferencias.

    
respondido por el Dean Harding 10.04.2011 - 21:53

Lea otras preguntas en las etiquetas