首先,工厂模式是我们设计模式中,最基本,经常使用的一种模式!在我们的业务代码当中,本来我们要获取一个类的实例,需要用到new关键字。但是如果new 直接写到业务代码里,一个类在很多地方都实例化过,如果项目工程比较大,当这个类出了什么问题,比如:需要维护或者替换的时候,因为我们是在业务当中直接new的,所以需要每个文件都去修改,那么就会出现一系列的问题。
工厂模式,顾名思义,就是不用new来获得实例,而是把业务类放进一个工场类里,由工厂(类)『生产』出对应的实例。
<?php
//创建一个工厂类
class Factory
{
public static function getDb()
{
//实例化使用的类
$db = new Database();
return $db;
}
}
如何使用这个工厂类来获取我们的实例的
<?php
//直接使用工厂类的静态方法(实际应用中应注意命名空间)
$db = Factory::getDb();
通过上面的例子,我们就可以在一个工厂类当中,实现多个类的实例,在项目当中只需要通过工厂类来获取实例即可,当类需要维护或者修改时,直接修改工厂类下面的类即可
设计模式的教程文档地址: 设计模式文档
设计模式的视频教程地址(Rango的大话PHP设计模式):大话PHP设计模式
本文为北溟有鱼QAQ原创文章,转载无需和我联系,但请注明来自北溟有鱼QAQ https://www.amdzz.cn
最新评论