包装库
在计算机科学领域,包装库(英语:wrapper library,也称封装库)是一种函式馆,可以将其它函式馆已存在的接口翻译成另一种兼容接口。
基本介绍
- 中文名:包装库
- 外文名:wrapper library
- 性质:函式馆
- 领域:计算机
简介
包装库通常只是一小层代码(即“垫片”),它之所以存在,是为了:
- 改良设计存在缺陷或者过于複杂的接口
- 沟通无法协作的代码(例如数据格式不兼容)
- 跨语言、跨运行时系统互动
示例
以下提供了常见包装器库实现的一般说明。在此示例中,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)。将一个类的接口转接成用户所期待的。一个适配使得因接口不兼容而不能在一起工作的类能在一起工作,做法是将类自己的接口包裹在一个已存在的类中。
函式馆
在计算机科学中,函式馆是用于开发软体的子程式集合。库和执行档的区别是,库不是独立程式,他们是向其他程式提供服务的代码。
库连结是指把一个或多个库包括到程式中,有两种连结形式:静态连结和动态连结,相应的,前者连结的库叫做静态库后者的叫做动态库。