明霞山资源网 Design By www.htccd.com
本文实例讲述了PHP设计模式之工厂方法设计模式。分享给大家供大家参考,具体如下:
一、什么是工厂方法模式
作为一种创建型设计模式,工厂方法模式就是要创建“某种东西”。对于工厂方法,要创建的“东西”是一个产品,这个产品与创建它的类之间不存在绑定。实际上,为了保持这种松耦合,客户会通过一个工厂发出请求,再由工厂创建所请求的产品。利用工厂方法模式,请求者只发出请求,而不具体创建产品。
二、什么时候使用工厂方法模式
如果实例化对象的子类可能改变,就要使用工厂方法模式。
三、一般工厂方法模式
使用一般工厂方法模式时,客户只包含工厂的引用,一个工厂生产一种产品。增加一种产品的同时需要增加一个新工厂类和一个新产品类。
<"此处为文本";
return $this->text;
}
}
//图像产品
class ImageProduct implements Product
{
private $image;
function getProperties()
{
$this->image = "此处为图像";
return $this->image;
}
}
//客户类
class Client
{
private $textFactory;
private $imageFactory;
public function __construct()
{
$this->textFactory = new TextFactory();
echo $this->textFactory->startFactory() . '<br />';
$this->imageFactory = new ImageFactory();
echo $this->imageFactory->startFactory() . '<br />';
}
}
$client = new Client();
/*运行结果:
此处为文本
此处为图像
*/
"htmlcode">
<"此处为文本";
return $this->text;
}
}
//图像产品
class ImageProduct implements Product
{
private $image;
public function getProperties()
{
$this->image = "此处为图像";
return $this->image;
}
}
//客户类
class Client
{
private $factory;
private $textProduct;
private $imageProduct;
public function __construct()
{
$factory = new ConcreteFactory();
$textProduct = new TextProduct();
$imageProduct = new ImageProduct();
echo $factory->startFactory($textProduct) . '<br />';
echo $factory->startFactory($imageProduct) . '<br />';
}
}
$client = new Client();
/*运行结果:
此处为文本
此处为图像
*/
"_blank" href="https://www.jb51.net/Special/43.htm">php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
明霞山资源网 Design By www.htccd.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
明霞山资源网 Design By www.htccd.com
暂无评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。