• PHP工厂模式的使用场景,使用方法


    所谓工厂模式和生产有关。生产什么呢?生产出来的是一个实例对象。通过什么设备生产?通过一个工厂类生产simpleFactoty。怎么生产呢?工厂类调用自身静态方法来生产对象实例static function woman.工厂类静态方法必须返回一个对象.

    class simpleFactoty{

         static function woman{

              return new woman();

       }

    }

    使用工厂模式的必要性

    很多没接触过工厂模式的人会不禁问,为啥我要费那么大的劲儿去构造工厂类去创建对象呢?不去套用那些易维护,可扩展之类的话,我们可以考虑这样一个简单的问题。如果项目中,我们通过一个类创建对象。在快完成或者已经完成,要扩展功能的时候,发现原来的类类名不是很合适或者发现类需要添加构造函数参数才能实现功能扩展。我靠!我都通过这个类创建了一大堆对象实例了啊,难道我还要一个一个去改不成?我们现在才感受到了“高内聚低耦合”的博大精深。没问题,工厂方法可以解决这个问题。

    基本的工厂类:

    class myobject{};

     class Myfactory{

             public static function factory(){

                      return new myobject();

           }

    }

    $instace = Myfactory::factory();

    稍微复杂的工厂类:

    <?php

     interface transport{

         public function go();

    }

    class bike implements transport{

        public function go(){

             echo "bike跑的慢";

    }

    }

    class car implements transport{

      public function go(){

       echo "car开的快";

    }

    }

    class bus implements transport{

      public function go(){

         echo "bus每一站都要停";

    }

    }

    class transFactory{

       public static function factory($transport){

          switch($transport){

            case 'bike':

                 return new bike();

            break;

          case 'car':

                return new car();

          break;

          case 'bus':

              return new bus();

         break;

    }

    }

    }

    $transport = transFactory::factory('car');

    $transport->go();

    ?>

  • 相关阅读:
    SAP 关于ALV 双击 打开其它事务码
    记一次PGSQL数据库恢复过程
    SAP 供应商主数据维护(字段示例)
    SAP 高仿 CKM3 物料成本价格分析报表SQL
    SAP scc4更改设置 (不允许更改资源库和跨客户端定)
    SAP 主数据 查重常用SQL
    SAP S4/HANA 连接SQL SERVER 数据库
    SAP VBKD业务表的情况处理
    SAP 物料主数据维护说明
    SAP CO成本控制 相关表
  • 原文地址:https://www.cnblogs.com/isuansuan/p/9753383.html
Copyright © 2020-2023  润新知