工厂模式是我们最常用的实例化对象模式,是用工厂方法代替new操作的一种模式。

    使用工厂模式的好处是,如果你想要更改所实例化的类名等,则只需更改该工厂方法内容即可,不需逐一寻找代码中具体实例化的地方(new处)修改了。为系统结构提供灵活的动态扩展机制,减少了耦合。
    示例代码 :

    1. <?php
    2. interface human{ // 人类接口
    3. public function say();
    4. }
    5. class man implements human{
    6. public function say(){
    7. echo "我是男人";
    8. }
    9. }
    10. class woman implements human{
    11. public function say(){
    12. echo "我是女人";
    13. }
    14. }
    15. class factory{ //工厂类,制造不同类的对象
    16. static function createMan(){
    17. return new man();
    18. }
    19. static function createWoman(){
    20. return new woman();
    21. }
    22. }
    23. $man=factory::createMan(); // 得到了男人类
    24. $man->say();
    25. $woman=factory::createWoman(); // 得到女人
    26. $woman->say();