php 设计模式之 门面



1. 门面模式

门面属于结构型模式

提供一个统一的接口可以访问多个子系统的多个不同的接口,对现有系统类方法的委托调用


2. 案例

当炒股票时,新股民不了解股票,是很容易亏钱,需要学习股票知识。

这样新手最好把炒股委托给基金公司,基金公司了解证券知识,那么股民把自己的股票托管给基金公司去运营,这样股民不必了解哪只股票的走势就可以完成股票的买卖。

基金公司在这里就是一个门面,针对于新股民的门面


3. 实列

class Ali {    // 股票,子系统
    function buy() {
        echo "买入阿里股票";
    }
 
    function sell() {
        echo "卖出阿里股票";
    }
}
 
class Wanda {   // 股票,子系统
    function buy() {
        echo "买入万达股票";
    }
 
    function sell() {
        echo "卖出万达股票";
    }
}
 

class Jingdong {   // 股票,子系统
    function buy() {
        echo "买入京东股票";
    }
 
    function sell() {
        echo "卖出京东股票";
    }
}
 
class FacadeCompany {   // 门面
    private $ali;
    private $wanda;
    private $jingdong;
 
    function __construct() {
        $this->ali=new Ali();
        $this->jingdong=new Jingdong();
        $this->wanda=new Wanda();
    }
 
    function buy() {
        $this->wanda->buy();
        $this->ali->buy();
    }
 
    function sell() {
        $this->jingdong->sell();
    }
}
    

$facade =new FacadeCompany();   // 股民
$facade->buy();
$facade->sell();
posted @ 2020-12-31 19:58  linsonga  阅读(92)  评论(0编辑  收藏  举报