2011-02-11 47 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的對象,並調用就可以了統計,而不是真正的功能。

如果我理解你的鏈接中的文字,厚適配器只有更復雜的代碼。