php设计模式之工厂设计模式

Posted 姗姗醉了

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php设计模式之工厂设计模式相关的知识,希望对你有一定的参考价值。

概念:

       工厂设计模式提供获取某个对象的新实例的一个接口,同时使调用代码避免确定实际实例化基类步骤。 很多高级模式都是依赖于工厂模式。

好处:

        php中能够创建基于变量内容的类的新实例,减少主代码流中的基于条件复杂性; 同时如果类发生改变不需要所有的地方进行修改,只需要在工厂中进行修改 (无论对象被修改或者添加其他对象,Factory对象调用方式仍让是相同的)(集中实例化)

应用场景:

      做支付接口的时候,未来可能对应不同的支付网关:支付宝、财付通、网银在线等。方便未来扩展,设计成工厂模式。定一个专门生产网关接口的工厂,抽象出来, 做成接口形式,让所有的子类都要实现它的接口。 以后加一个支付方式,要使用哪一种支付方式,改变一下参数即可。

      在为用户注册的时候,分为很多种角色的用户。 比如册用户,匿名用户、管理员用户等。完全使用可以使用工厂的思想来实现, 代码也容易维护,为每种角色可以生成操作的类等等。

      系统对接多个不同类型的数据库,mysql,oracle,sqlserver。

实例代码:

     简单工厂模式Factory,提供一个工厂方法供客户端调用。可能违反开闭原则。

     

      工厂方法:一个工厂生产多个零件,但零件共同特点是属于一个产品。 此工厂可以生产产品,而非单独的对象。

     

     示例三:通过传入不同参数    

     

     示例四:通过传入不同参数,动态实例化不同的类。

  

 

以上是关于php设计模式之工厂设计模式的主要内容,如果未能解决你的问题,请参考以下文章

php设计模式之工厂模式

php设计模式之工厂模式

PHP设计模式—工厂模式之工厂方法模式

php模式设计之 工厂模式

PHP的设计模式之工厂模式

PHP设计模式之工厂模式