工厂模式,顾名思义,可以像工厂一样生产(创建)出产品(对象),这个工厂可以生产出多种产品,只要你告诉工厂我需要生产哪个产品即可,生产每个产品都有一定的流程,生产哪个产品就使用哪个产品的生产流程。
工厂类:
class Factory{ public static function create($product_name){ return new $product_name(); } }
手机类(生产手机的流程):
class Phone{ public function product() { echo 'phone'; } }
电脑类(生产电脑的流程):
class Computer{ public function product() { echo 'computer'; } }
开始生产产品:
Factory::create('Phone')->product();
Factory::create('Computer')->product();
工厂模式的优点就是把创建对象的过程封装起来。