从字面上理解,工厂模式,就是工厂中,用模具去生产某种产品,当我们改变这个模具,接下来生产的产品也就跟着改变了;
其实工厂模式,就是某种封装,我们来看个工厂模式的demo:
1. Test1.php // 新建Test1类文件
<?php
class Test1
{
public function add(){
return '我是Test1类的add方法';
}
}
2.Test2.php //在Test2.php文件中调用Test1类的方法
1)正常调用方式
<php?
require(Test1.php);
class Test2
{
public function getAdd(){
$test = new Test1(); //实例化Test1类
echo $test->add(); //调用Test1类中的方法
}
}
2)使用工厂模式
a)Factory.php // 首新建一个工厂类
<?php
class Factory{
static function newClass(){
$test = new Test1(); //实例化Test1类
return $test; //返回类对象
}
}
b)调用
<php?
require(Factory.php);
class Test2
{
public function getAdd(){
$test = Factory::newClass; //实例化Test1类
echo $test->add(); //调用Test1类中的方法
}
}

本文介绍了PHP中的工厂模式,通过一个demo展示了正常调用和使用工厂模式两种方式。对比发现,若在多个类文件中用new实例化类,修改类名时工作量大且易出错;而使用工厂模式,仅需修改工厂类中的类名,体现了工厂模式在维护上的优势。

被折叠的 条评论
为什么被折叠?



