什么是设计模式 十八哥的说法,典型场景-->典型问题-->典型解决办法
模式是因为语言不够灵活,不能适应复杂的场景,而想出的 php弱类型语言 所以java的设计模式比PHP多 (不可照搬java设计模式)
<?php //设计模式 简单工厂 class Mysql{ } class Sqlite{ } class Factroy{ public static function getDB($type){ if($type == "mysql"){ return new mysql(); }else if($type == "sqlite"){ return new sqlite(); }else{ throw new Exception("sorry",1) } } } //获取Db对象 print_r( Factroy::getDB('mysql')); ?>
输出

这就是简单的工厂模式 有变化有分支改一个就可以
弊端:不符合 开闭原则 (对新增是开放的,对修改是关闭的)