2011-02-11 46 views
1

我无法找到任何有关薄与厚适配器之间区别的信息。如果有人能提供描述,我将不胜感激,后面跟一个简单的例子(请注意,这个例子不需要用C++)。薄与厚适配器(包装)示例

在此先感谢。

编辑:我的想法是像class adapter pattern这需要最小的变化,以符合预期的接口。

+0

我从来没有听说过薄而厚的适配器。你从哪里弄到的?据我所知,只有适配器模式存在。 – 2011-02-11 08:52:50

+0

嗯,我实际上收到了为某个班级制作一个的请求。顺便说一句,这是我迄今为止发现的唯一信息:http://it.toolbox.com/blogs/davidlinthicum/thick-and-thin-adapters-4599 – sinek 2011-02-11 08:59:20

回答

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的对象,并调用就可以了统计,而不是真正的功能。

如果我理解你的链接中的文字,厚适配器只有更复杂的代码。