PHP设计模式——工厂模式
今天给大家讲讲什么是工厂模式!
工厂是什么:
工厂又称制造厂,工厂是机器或设备构成的生产线。说白就了就是代替里手工,可以大批量的生产,只要设定好我要造什么就可以了!
工厂的优点是什么?
机械动力替代了人工劳动,生产效率大大提高!!!
机器代替了人工,生产效率杠杠的~ 省事省力还省钱何乐而不为那!
说了工厂这么多,那么工厂模式有啥关系?很多聪明的同学都已经明白了,咱们PHP的设计模式工厂模式和工厂是一个原理! 代替我了们手动实力化的操作。
举个例子:
我有三个类:Art.class.php Tags.class.php Comment.class.php
如果我要使用的话是不是要new Art()之后使用! 其他两个类一样都需要先实例化!
那么我们每次都需要实力化为什么不建立个方法来替代每次实例化的这个操作那?
下边来设计下:<?php
class factortyClass
{
public static function factory($name)
{
if(include_once './class/'.$name.'.class.php')
{
return new $name;
}else{
throw new Exceptiooon($name.'.class.php Not Found');
}
}
}
这个工厂类就设计好了
使用:$art = factortyClass::factory('Art');
$tags = factortyClass::factory('Tags');
$comment = factortyClass::factory('Comment');
这样使用就让具体的对象解脱了出来,不在依赖具体的类了,而是抽象。这个类是不是就和工厂一样的效果,不用你每次都去实例化了。
如果你自己需要写框架的时候,你就可以设计一个功能类来实例化所需要的类!
看完了,你懂了什么是工厂模式了吗?