设计模式PHP版五 - 代理模式

在现实生活中,如果你有一套房要卖,当发布后会有很多人来咨询你,你需要花费大量的时间去处理这些买家的问题。一段时间后,你觉得很烦,很多人只是问了下价格就没音信了。某一天,有个中介找到你,说帮你卖房,你就负责最后的签约就行了,你顿感惊喜,于是委托给了他,让他代理你的卖房业务。

/**
 * 签约接口
 *
 * Interface Signing
 */
interface Signing
{
    function handleSigning();
}

/**
 * 房主类
 *
 * Class HouseOwner
 */
class HouseOwner implements Signing
{
    /**
     * @var string 买家名
     */
    private $buyerName;

    function __construct($name = 'anonymous')
    {
        $this->buyerName = $name;
    }

    /**
     * 处理签约
     */
    function handleSigning()
    {
        echo "{$this->buyerName}与房主签约";
    }
}

/**
 * 中介(代理)
 *
 * Class intermediary
 */
class intermediary implements Signing
{
    /**
     * @var HouseOwner 房主类
     */
    private $houseOwner;

    /**
     * @var int 报价
     */
    private $offer;

    /**
     * intermediary constructor.
     * @param string $name 买家名
     * @param int $offer 报价
     */
    function __construct($name = 'anonymous', $offer = 0)
    {
        $this->houseOwner = new HouseOwner($name);
        $this->offer = $offer;
    }

    function handleSigning()
    {
        // 报价大于1000就与房主签约
        if ($this->offer > 1000) {
            $this->houseOwner->handleSigning();
        } else {
            echo '报价过低<br>';
        }

    }
}

// 买家1
$proxy = new intermediary('小明', '100');
$proxy->handleSigning();

// 买家2
$proxy = new intermediary('小明他爹', '10000');
$proxy->handleSigning();

代理负责和买家协商,其中包括砍价,询问房屋年龄,装修怎么样,带去看房之类的。当通过代理这一关后再去找房东签合同,这样房东就省心了。虽然省心了,但也要付出中介费。
该模式多了中介类,所以多了些硬件资源。但这样的好处就很明显了,房主类做为最终操作,也是最重要的环节,是不需要被修改的。中介这边可以拟定合同,什么都办好了,就等着房主签字即可,房主连买方都不需要见。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值