电商项目中我们可能遇到这样的问题:要对不同的商品修改价格,但是商品是有巨大的差别的,这个时候就适合使用中介者模式。
<?php
class Book{
private $name;
private $obj=NULL;
public $price;
function __construct($name, $price, Intermediar $obj){
$this->name = $name;
$this->price = $price;
$this->obj = $obj;
}
function changprice($newprice){
$this->obj->change($this, $newprice);
}
}
/*
* 实际情况中类差别很大可能无法创建父类
* */
class Computer{
private $name;
private $obj;
public $price;
function __construct($name, $price, Intermediar $obj){
$this->name = $name;
$this->price = $price;
$this->obj = $obj;
}
function changprice($newprice){
$this->obj->change($this, $newprice);
}
}
/*
* 中介者类
*
* */
class Intermediar{
public function change($obj, $value){
$obj->price = $value;
}
}
$inter = new Intermediar();
$label = new Book('book', 34, $inter);
$label->changprice(100);
var_dump($label);