摘要:工厂模式是通过一个工厂类来生产实例对象,工厂类调用自身静态方法来生产对象实例。工厂模式可以解决类的严重依赖高度耦合问题。<?php //创建一个工厂类 class Factory { //实例化传入的类 public static function create($className) { switch (strtolower($c
工厂模式是通过一个工厂类来生产实例对象,工厂类调用自身静态方法来生产对象实例。
工厂模式可以解决类的严重依赖高度耦合问题。
<?php
//创建一个工厂类
class Factory
{
//实例化传入的类
public static function create($className)
{
switch (strtolower($className)) {
case 'computer':
return new Computer();
break;
case 'auto':
return new Auto();
break;
}
}
}
class Computer
{
public function work()
{
return '可以学习编程';
}
}
class Auto
{
public function run()
{
return '可以带着我到处玩';
}
}
class Student
{
public function study()
{
$computer = Factory::create('Computer');
return '计算机'.$computer->work();
}
public function drive()
{
$auto = Factory::create('Auto');
return '汽车'.$auto->run();
}
}
$student = new Student();
echo $student->study().'<br>';
echo $student->drive();