<?php
/**
* 工厂模式
*/
//鼠标类
interface Mouse {
public function make();
}
class HpMouse implements Mouse
{
public function make()
{
echo "Hp Mouse \n";
}
}
class DellMouse implements Mouse{
public function make()
{
echo "Dell Mouse \n";
}
}
//鼠标工厂
interface MouseFactor {
//生产鼠标
public function create();
}
//惠普鼠标工厂
class HpMouseFactor implements MouseFactor
{
//生产惠普鼠标
public function create()
{
return new HpMouse();
}
}
//戴尔鼠标工厂
class DellMouseFactor implements MouseFactor
{
//生产戴尔鼠标
public function create()
{
return new DellMouse();
}
}
/*** test **/
$hpMouseFactor = new HpMouseFactor();
$hpMouseFactor->create()->make();
$dellMouseFactor = new DellMouseFactor();
$dellMouseFactor->create()->make();