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