首页 > Web开发 > 详细

php实现设计模式之 桥接模式

时间:2014-11-05 12:30:43      阅读:240      评论:0      收藏:0      [点我收藏+]
<?php
/*桥接模式:将抽象部分与实现部分分离,使它们都可以独立的变化。
 * 
 * 在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,桥接模式就是应对这种多维度的变化
 */

/*例子:不同的车在不同的街道上行驶。车可变,街道可变
 * 
 * 
 */
abstract class road{
	abstract public function run();
}

class quickroad extends road{
	public $car;
	
	public function __construct($car){
		$this->car = $car;
	}
	
	public function run(){
		$this->car->run();
		echo ‘高速公路上行驶‘;
	}
}

class street extends road{
	public $car;
	
	public function __construct($car){
		$this->car = $car;
	}
	
	public function run(){
		$this->car->run();
		echo ‘城市街道上行驶‘;
	}
}

abstract class car{
	abstract public function run();
}

class jeep extends car{
	public function run(){
		echo ‘吉普车在‘;
	}
}

class bus extends car{
	public function run(){
		echo ‘公共汽车在‘;
	}
}

$car = new bus();
$road = new quickroad($car);
$road->run();
echo "<br/>";
$car = new jeep();
$road = new street($car);
$road->run();
?>

  UML类图

bubuko.com,布布扣

php实现设计模式之 桥接模式

原文:http://www.cnblogs.com/taijun/p/4075736.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!