包裝庫

計算機科學領域,包裝庫(英語:wrapper library,也稱封裝庫)是一種函式館,可以將其它函式館已存在的接口翻譯成另一種兼容接口。

基本介紹

  • 中文名:包裝庫
  • 外文名: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)。將一個的接口轉接成用戶所期待的。一個適配使得因接口不兼容而不能在一起工作的類能在一起工作,做法是將類自己的接口包裹在一個已存在的類中。

函式館

計算機科學中,函式館是用於開發軟體子程式集合。庫和執行檔的區別是,庫不是獨立程式,他們是向其他程式提供服務的代碼。
庫連結是指把一個或多個庫包括到程式中,有兩種連結形式:靜態連結動態連結,相應的,前者連結的庫叫做靜態庫後者的叫做動態庫

相關詞條

熱門詞條

聯絡我們