我找不到关于瘦适配器和厚适配器有什么区别的任何信息。如果有人可以提供描述,我会很感激,接着是一个简单的例子(请注意,该示例不需要在C ++中)。
提前致谢。
编辑:我对此的看法类似于class adapter pattern,需要进行最少的更改才能符合预期的界面。
答案 0 :(得分:1)
这很简单。
例如,假设您希望在代码中使用the stat function,但您希望能够对代码进行单元测试,甚至更改在运行时使用的函数。然后你会添加一个基类:
struct FunctionApiBase
{
virtual ~FunctionApiBase{}
virtual int stat(const char *path, struct stat *buf) = 0;
};
实施它:
struct RealFunctionApi : public FunctionApiBase
{
virtual int stat(const char *path, struct stat *buf)
{
::stat( path, buf );
}
};
然后创建RealFunctionApi类型的对象并在其上调用stat,而不是真实函数。
如果我理解链接中的文本,那么厚适配器只会有更复杂的代码。