基本介紹
- 中文名:包裝庫
- 外文名:wrapper library
- 性質:函式館
- 領域:計算機
簡介,示例,C界面,C ++包裝器,包裝函式,包裝器模式,函式館,
簡介
包裝庫通常只是一小層代碼(即“墊片”),它之所以存在,是為了:
- 改良設計存在缺陷或者過於複雜的接口
- 溝通無法協作的代碼(例如數據格式不兼容)
- 跨語言、跨運行時系統互動
示例
以下提供了常見包裝器庫實現的一般說明。在此示例中,C ++接口充當C語言接口的“包裝器”。
C界面
int pthread_mutex_init(pthread_mutex_t * mutex , pthread_mutexattr_t * attr);
int pthread_mutex_destroy (pthread_mutex_t * mutex);
int pthread_mutex_lock (pthread_mutex_t * mutex );
int pthread_mutex_unlock (pthread_mutex_t * mutex );
C ++包裝器
class Mutex{ pthread_mutex_t mutex;public: Mutex() { pthread_mutex_init(&mutex, 0); } ~Mutex() { pthread_mutex_destroy(&mutex); }private: friend class Lock; void lock() { pthread_mutex_lock(&mutex); } void unlock() { pthread_mutex_unlock(&mutex); }};class Lock{ Mutex& mutex;public: Lock(Mutex& mutex):mutex(mutex){mutex.lock();} ~Lock(){mutex.unlock();}};
包裝函式
在計算機科學中,包裝函式(英語:Wrapper function)是一種電腦程式中的函式,它存在的主要目的就是用來調用另一個函式。在面向對象編程中,它又被稱為方法委任(method delegation)。它的存在有多種功能:可以被當成適配器模式來使用,可以當成錯誤檢查程式,也可以被當成多重繼承來使用。
包裝器模式
在設計模式中,適配器模式(英語:adapter pattern)有時候也稱包裝樣式或者包裝(wrapper)。將一個類的接口轉接成用戶所期待的。一個適配使得因接口不兼容而不能在一起工作的類能在一起工作,做法是將類自己的接口包裹在一個已存在的類中。