工厂模式是我们最常用的实例化对象模式,是用工厂方法代替new操作的一种模式。
使用工厂模式的好处是,如果你想要更改所实例化的类名等,则只需更改该工厂方法内容即可,不需逐一寻找代码中具体实例化的地方(new处)修改了。为系统结构提供灵活的动态扩展机制,减少了耦合。
示例代码 :
<?phpinterface human{ // 人类接口public function say();}class man implements human{public function say(){echo "我是男人";}}class woman implements human{public function say(){echo "我是女人";}}class factory{ //工厂类,制造不同类的对象static function createMan(){return new man();}static function createWoman(){return new woman();}}$man=factory::createMan(); // 得到了男人类$man->say();$woman=factory::createWoman(); // 得到女人$woman->say();
