“래퍼”와 “심”은 동의어입니까? “심 (shim)”이라는 단어는 어느 정도 동의어입니까,

“래퍼 (wrapper)”와 “심 (shim)”이라는 단어는 어느 정도 동의어입니까, 아니면 구별적인 의미가 있습니까?



답변

심은 일반적으로 이전 버전과의 호환성을 유지하기 위해 특별히 작성된 것입니다. 예를 들어, 버전 1과 버전 2의 두 가지 버전의 API가 있고 버전 2와 독립적으로 버전 1을 유지하는 대신 API 버전 1에 대한 호출을 가로 채고 매개 변수를 어떤 버전으로 변환 하는 shim 을 작성할 수 있습니다. 2가 필요하고 결과를 반환합니다.

일반적으로 shim은 소비자가 아닌 API 공급자가 작성합니다.

랩퍼는 API 소비자 가 작성하며 일반적으로 나머지 코드를 몰라도 기본 API를 전환 할 수 있도록 작성됩니다. 예를 들어, 랩퍼를 전환하여 MS SQL Server 또는 Oracle과 대화 할 수 있도록 데이터베이스 랩퍼를 작성할 수 있습니다.

물론 다른 용어와 마찬가지로 회색 영역이 있지만 위의 주요 차이점을 다루는 것 같습니다.


답변