工厂模式
工厂模式是做什么的呢?
例如现在又mysql操作类和mssql操作类,我们在使用的时候会把这些类来分别实例化,这些类都是用来数据库操作的,我们来新创建一个类,来管理这个具有相同共性的类
class Factory{ static function creat($type){ return new $type; } }
那我们在实例化mysql对象的时候,就可以采用
$mysql_obj = Factory::creat(‘mysql’);
优势:统一管理对象的实例化,便于扩展维护
我们来写一写数据库操作类统一管理的工厂类吧
class DB{ public static $db; public static function init($dbtype,$config){ self::$db = new $dbtype; self::$db->connect($config); } public static function query($sql){ return self::$db->query($sql); } }
视图引擎工厂模式也是同样的道理