<?php /** * PHP简单工厂模式(静态工厂方法模式) * 工厂模式是我们最常用的实例化对象模式,是用工厂方法代替new操作的一种模式。 * * 使用工厂模式的好处是,如果你想要更改所实例化的类名等,则只需更改该工厂方法内容即可, * 不需逐一寻找代码中具体实例化的地方(new处)修改了。 * 为系统结构提供灵活的动态扩展机制,减少了耦合。 */ /** * Interface people 人类 */ interface people { public function say(); } /** * Class man 继承people的男人类 */ class man implements people { // 具体实现people的say方法 public function say() { echo ‘man<br>‘; } } /** * Class woman 继承people的女人类 */ class woman implements people { // 具体实现people的say方法 public function say() { echo ‘woman<br>‘; } } /** * Class SimpleFactoty 工厂类 */ class SimpleFactoty { // 简单工厂里的静态方法-用于创建男人对象 static function createMan() { return new man(); } // 简单工厂里的静态方法-用于创建女人对象 static function createWoman() { return new woman(); } } /** * 具体调用 */ $man = SimpleFactoty::createMan(); $man->say(); //输出 man $woman = SimpleFactoty::createWoman(); $woman->say(); //输出 woman
原文:https://www.cnblogs.com/kccdzz/p/10385170.html