php设计模式简单代码,PHP设计模式之简单工厂模式

本文介绍了如何在PHP中定义抽象接口OperatorClass,通过AddClass、SubClass和MulClass实现接口,并创建FactoryClass工厂类,实现根据不同操作符动态创建运算实例。通过实例展示了如何使用这些类进行加减乘运算。
摘要由CSDN通过智能技术生成

1. 定义抽象基类或者接口

2. 继承基类的子类

3. 实例化子类的工厂类

UML 类图

31bf84f3e8b4d01a04ca8507bb302dbe.png

第一:定义接口

//file : OperatorClass.php

namespace Operator;

interface OperatorClass{

public function getValue($num1,$num2);

}

第二:实现接口类

//file : AddClass.php

namespace Operator;

class AddClass implements OperatorClass{

public function getValue($num1,$num2){

return $num1+$num2;

}

}//SubClass.php

namespace Operator;

class SubClass implements OperatorClass{

public function getValue($num1,$num2){

return $num1-$num2;

}

}//MulClass.php

namespace Operator;

class MulClass implements OperatorClass{

public function getValue($num1,$num2){

return $num1*$num2;

}

}

第三:定义工厂类

//FactoryClass.php

namespace Operator;

class FactoryClass{

public static function create($Operator){

$OperatorObj = null;

switch($Operator){

case 'add':

$OperatorObj = new \Operator\AddClass();break;

case 'sub':

$OperatorObj = new \Operator\SubClass();break;

}

return $OperatorObj;

}

}

第四:测试代码

require_once('./Autoload.class.php');

$add = \Operator\FactoryClass::create('add');

$addResult = $add->getValue(2,2);

echo $addResult;

$sub = \Operator\FactoryClass::create('sub');

$subResult = $sub->getValue(8,2);

echo $subResult;

$mul = \Operator\FactoryClass::create('mul');

$mulResult = $mul->getValue(3,3);

echo $mulResult;

第五:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值