php解答:php工厂方法模式的好处是什么

 所属分类:php教程

 浏览:31次-  评论: 0次-  更新时间:2022-09-23
描述:更多教程资料进入php教程获得。 PHP工厂方法模式的好处是:核心类只需要关注工厂类的接口,而具体的产品实例交给具体的工厂子类去创建。在...
更多教程资料进入php教程获得。

PHP工厂方法模式的好处是:核心类只需要关注工厂类的接口,而具体的产品实例交给具体的工厂子类去创建。在该模式下,通过定义一个抽象的核心工厂类,并定义创建产品的接口,使创建具体产品实例的工作延迟到其工厂子类去完成。

php零基础到就业直播视频课:进入学习
程序员必备接口测试调试工具:立即使用

本文操作环境:Windows10系统、PHP7.1版、Dell G3电脑。

php工厂方法模式的好处是什么

此模式中,通过定义一个抽象的核心工厂类,并定义创建产品对象的接口,创建具体产品实例的工作延迟到其工厂子类去完成。

这样做的好处是核心类只关注工厂类的接口定义,而具体的产品实例交给具体的工厂子类去创建。当系统需要新增一个产品,无需修改现有系统代码,只需要添加一个具体产品类和其对应的工厂子类,是系统的扩展性变得很好,符合面向对象编程的开闭原则。

<?php
interface Animal{
  public function run();
  public function say();
}
class Cat implements Animal
{
  public function run(){
      echo "I ran slowly <br>";
  }
  public function say(){
      echo "I am Cat class <br>";
  }
}
class Dog implements Animal
{
  public function run(){
      echo "I'm running fast <br>";
  }
  public function say(){
      echo "I am Dog class <br>";
  }
}
abstract class Factory{
  abstract static function createAnimal();
}
class CatFactory extends Factory
{
  public static function createAnimal()
  {
      return new Cat();
  }
}
class DogFactory extends Factory
{
  public static function createAnimal()
  {
      return new Dog();
  }
}
 
$cat = CatFactory::createAnimal();
$cat->say();
$cat->run();
 
$dog = DogFactory::createAnimal();
$dog->say();
$dog->run();

  工厂方法模式是简单工厂模式的进一步抽象和推广。由于使用了面向对象的多态性,工厂方法模式保持了简单工厂模式的优点,而且克服了它的缺点。在工厂方法模式中,核心的工厂类不再负责所有产品的创建,而是将具体创建工作交给子类去做。

这个核心类仅仅负责给出具体工厂必须实现的接口,而不负责产品类被实例化这种细节,这使得工厂方法模式可以允许系统在不修改工厂角色的情况下引进新产品。

推荐学习:《PHP视频教程》

以上就是php工厂方法模式的好处是什么的详细内容,更多请关注zzsucai.com其它相关文章!

 标签: php,
积分说明:注册即送10金币,每日签到可获得更多金币,成为VIP会员可免金币下载! 充值积分充值会员更多说明»

讨论这个素材(0)回答他人问题或分享使用心得奖励金币

〒_〒 居然一个评论都没有……

表情  文明上网,理性发言!