PHP高级对象构建 工厂模式的使用

  PHP设计模式工厂模式的使用方法

  

复制代码 代码如下:

  <?php

  /*

  * 每日练习 PHP设计模式工厂模式的使用方法

  * PHP工厂模式不难理解,顾名思义,就是一个加工厂,然后工厂是制造产品的,只要制造产品

  * 就必须有几个要素:"方法","模型","工厂车间"。

  */

  /*第一种示例 普通工厂模式

  * */

  abstract class model {//产品模型

  abstract function getNames();

  }

  class zhangsan extends model {//产品实例

  function getNames(){

  return "my name is zhengsan";

  }

  }

  class lisi extends model{//产品实例

  function getNames(){

  return "my name is lisi";

  }

  }

  abstract class gongchangModel {//工厂模型

  abstract function getZhangsan();

  abstract function getLisi();

  }

  class gongchang extends gongchangModel{//工厂实例

  function getZhangsan(){

  return new zhangsan();

  }

  function getLisi(){

  return new lisi();

  }

  }

  $gongchang=new gongchang();//实例化工厂

  $zhangsan=$gongchang->getZhangsan();//制造产品

  echo $zhangsan->getNames();//产品输出功能

  ?>

  之前我写去关于工厂设计模式的文章,实际上,工厂模式包含普通工厂模式和抽象工厂模式,但是,不管是什么工厂模式,它们都是有一个作用,那就是生成对象。

  好了,那我们用下面最最简单的例子,再把PHP设计模式中的厂模式再演示一下。

  我自己总结了一下,工厂模式的三个要素:

  一、产品模型

  二、产品实例

  三、工厂车间

  

复制代码 代码如下:

  <?php

  abstract class prModel {//产品模型

  abstract function link();

  }

  class webLink extends prModel{//实例一个产品

  public function link(){

  echo "www.glzy8.com";

  }

  }

  class gongchang {//工厂

  static public function createLink (){

  return new webLink();

  }

  }

  $weblink=gongchang::createLink();//通过工厂制造一个对象

  $weblink->link();//输出 www.glzy8.com

  ?>

  以上方法,就简单的说明了工厂类的使用方法。关注面向对象