简单工厂模式把创建对象的过程进行了封装,体现了PHP的面向对象,隔离封装的特点,这样就使客户端无论怎么调用,他都是只知道接口,但是并不清楚后端接口内部程序的具体实现,省去了客户端创建对象的过程,使分工更加明确,统一接口不同类型的产品,正因为这样,可能不利于以后的维护,举个栗子: <?php interface DB { function conn(); } class MySql implements DB { public function conn() { echo 'mysql数据库连接了'; } } class SQLServer implements DB { public function conn() { echo 'SqlServer已经连接了'; } } // 简单工厂模式 class Factory { public static function createDB($sqlType) { if($sqlType == 'mysql') { return new MySql(); }elseif($sqlType == 'SQLServer') { return new SQLServer(); }else{ return null; } } } $sqlServer = Factory::createDB('SQLServer'); $sqlServer->conn();