复制代码 代码如下:
/**
* Adapter pattern
*
* Convert the interface of a class into another interface that the customer wants, using classes that are originally incompatible and cannot work together to work together
*/
// 这个是原有的类型
class OldCache
{
public function __construct()
{
echo "OldCache construct
";
}
public function store($key,$value)
{
echo "OldCache store
";
}
public function remove($key)
{
echo "OldCache remove
";
}
public function fetch($key)
{
echo "OldCache fetch
";
}
}
interface Cacheable
{
public function set($key,$value);
public function get($key);
public function del($key);
}
class OldCacheAdapter implements Cacheable
{
private $_cache = null;
public function __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);
}
public function del($key)
{
return $this->_cache->remove($key);
}
}
$objCache = new OldCacheAdapter();
$objCache->set("test",1);
$objCache->get("test");
$objCache->del("test",1);