复制代码代码如下:
/**
* アダプターパターン
*
* 本来互換性がなく連携できないクラスを利用して、クラスのインターフェースを顧客が望む別のインターフェースに変換して連携させる
*/
// これは原有の種類
class OldCache
{
public function __construct()
{
echo "OldCache コンストラクト
";
}
パブリック関数ストア($key,$value)
{
echo "OldCache ストア
";
}
public function delete($key)
{
echo "OldCache delete
";
}
public function fetch($key)
{
echo "OldCache fetch
";
}
}
インターフェース Cacheable
{
public function set($key,$value);
パブリック関数 get($key);
パブリック関数 del($key);
}
クラス OldCacheAdapter は Cacheable
{
private $_cache = null; を実装します。
パブリック関数 __construct()
{
$this->_cache = new OldCache();
}
public function set($key,$value)
{
return $this->cache->store($key,$value);
}
public function get($key)
{
return $this->_cache->fetch($key);
}
パブリック関数 del($key)
{
return $this->_cache->remove($key);
}
}
$objCache = new OldCacheAdapter();
$objCache->set("test",1);
$objCache->get("test");
$objCache->del("テスト",1);