php设计模式的作用是什么意思,php设计模式工厂模式有什么作用?

本文详细介绍了PHP中的工厂模式,包括其作用、简单工厂、工厂方法和抽象工厂的区别。简单工厂模式在创建对象时提供便利,但违反了开闭原则。工厂方法模式则遵循此原则,允许在不修改原有代码的情况下扩展产品。通过实例展示了如何使用简单工厂创建Person对象。工厂模式适用于对象创建较少的情况,有助于保持代码的稳定性和可扩展性。
摘要由CSDN通过智能技术生成

我们给大家介绍了php工厂模式的好处,工厂模式的含义,以及工厂模式的三种情况,那么我们今天继续给大家介绍php工厂模式的作用是什么!

工厂模式分为三种:简单工厂、工厂方法、抽象工厂 ,三种工厂的区别是,抽象工厂由多条产品线,而工厂方法只有一条产品线,是抽象工厂的简化。而工厂方法和简单工厂相对,大家初看起来好像工厂方法增加了许多代码但是实现的功能和简单工厂一样。但本质是,简单工厂并未严格遵循设计模式的开闭原则,当需要增加新产品时也需要修改工厂代码。但是工厂方法则严格遵守开闭原则,模式只负责抽象工厂接口,具体工厂交给客户去扩展。在分工时,核心工程师负责抽象工厂和抽象产品的定义,业务工程师负责具体工厂和具体产品的实现。只要抽象层设计的好,框架就是非常稳定的。

简单工厂

优点:产品使用者不需要关心产品类的创建过程,与具体产品的实现类达到解耦的效果;

缺点:违背"开放--封闭"原则(OCP),因为新增一个产品类的时候,需要修改原先的工厂方法;

适用场合:当工厂类负责创建的对象比较少的时候;

实现方法:定义一个简单共产类,并定义一个静态生产方法,根据传进来的type参数生成对应的具体父亲类

具体代码如下<?php //抽象产品interface Person {

public function getName(); }//具体产品实现class Teacher implements Person {

public function getName() {

return "老师n";

}}class Student implements Person {

public function getName() {

return "学生n";

}}//简单工厂class SimpleFactory {

public static function getPerson($type) {

$person = null;

if ($type == 'teacher') {

$person = new Teacher();

} elseif ($type == 'student') {

$person = new Student();

}

return $person;

}}//简单工厂调用class SimpleClient {

function main() {

// 如果不用工厂模式,则需要提前指定具体类

// $person = new Teacher();

// echo $person->getName();

// $person = new Student();

// echo $person->getName();

// 用工厂模式,则不需要知道对象由什么类产生,交给工厂去决定

$person = SimpleFactory::getPerson('teacher');

echo $person->getName();

$person = SimpleFactory::getPerson('student');

echo $person->getName();

}}

总结:

通过本文的学习相信大家对php工厂模式的作用有了一个新的概念,希望对你的工作有所帮助!~

相关推荐:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值