14.中介者模式

    电商项目中我们可能遇到这样的问题:要对不同的商品修改价格,但是商品是有巨大的差别的,这个时候就适合使用中介者模式。

<?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);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值