🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
简单工厂模式:叫静态工厂方法模式 * 无法灵活的拓展和维护,添加新的功能需要修改原有的代码 * 工厂类负责创建的对象较少,客户只知道传入工厂类的参数,对于如何创建对象不关心 * 并未严格遵循设计模式的开闭原则,当需要增加新产品时也需要修改工厂代码 ``` <?php class AppleDrink{ function getDrinkName() { echo '苹果饮料'; } } class BananaDrink{ function getDrinkName() { echo '香蕉饮料'; } } class FruitFactory{ public static function makeDrink($fruit){ if ($fruit == 'apple'){ return new AppleDrink(); }elseif ($fruit == 'banana'){ return new BananaDrink(); } } } $factory = new FruitFactory(); $apple = $factory->makeDrink('apple'); $apple->getDrinkName(); $banana = $factory->makeDrink('banana'); $banana->getDrinkName(); $apple1 = $factory->makeDrink('apple'); $apple1->getDrinkName(); $banana1 = $factory->makeDrink('banana'); $banana1->getDrinkName(); ```