<?php
/**
* 桥接模式
*
* 将抽象部份与它实现部分分离,使用它们都可以有独立的变化
*/
abstract class implementor
{
abstract public function operation();
}
class concreteimplementora extends implementor
{
public function operation()
{
echo "concreteimplementora operation<br/>";
}
}
class concreteimplementorb extends implementor
{
public function operation()
{
echo "concreteimplementorb operation<br/>";
}
}
class abstraction
{
protected $_implementor = null;
public function setimplementor($implementor)
{
$this->_implementor = $implementor;
}
public function operation()
{
$this->_implementor->operation();
}
}
class refinedabstraction extends abstraction
{
}
class exampleabstraction extends abstraction
{
}
//
$objrabstraction = new refinedabstraction();
$objrabstraction->setimplementor(new concreteimplementorb());
$objrabstraction->operation();
$objrabstraction->setimplementor(new concreteimplementora());
$objrabstraction->operation();
$objeabstraction = new exampleabstraction();
$objeabstraction->setimplementor(new concreteimplementorb());
$objeabstraction->operation();
如对本文有疑问,
点击进行留言回复!!
相关文章:
-
-
-
-
-
-
-
荐
数据库的设计
数据库的设计一 为什么需要规范的数据库设计数据库设计的步骤收集信息标识实体标识每个实体需要存储的详细信息标识实体...
[阅读全文]
-
-
-
-
网友评论