博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
设计模式(二)----工厂模式
阅读量:6995 次
发布时间:2019-06-27

本文共 895 字,大约阅读时间需要 2 分钟。

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

工厂模式会是我们的应用获取更多的可扩展性,减少修改量.

<?php

Interface Animal

{

  public function food();
}
class Cat implements Animal
{
  public function food()
{
  echo "小猫吃小鱼";
}
}
class Fish implements Animal
{
  public function food(){

  echo "小鱼吃虾米";

  }

}
Class Shrimp implements Animal
{
  public function food(){
  echo "我吃什么";
  }
}

class animalFactory

{
  public static function factory($animal)
  {
    // $animal = ucfirst($animal);
    switch ($animal){
      case "cat":
        return new Cat();
        break;
      case "dog":
        return new Fish();
        break;
      case "shrimp":
        return new Cat();
        break;
    }
  }
}

try{

  $animal = animalFactory::factory('dog');
  throw new Exception("可能你输入错误了吧");
  }catch(Exception $e){
    echo "错误信息是:" . $e->getMessage();die;
}
$animal->food();

转载于:https://www.cnblogs.com/catcrazy/p/6289379.html

你可能感兴趣的文章