当前位置:Gxlcms > PHP教程 > PHP最常用的2种设计模式工厂模式和单例模式介绍

PHP最常用的2种设计模式工厂模式和单例模式介绍

时间:2021-07-01 10:21:17 帮助过:5人阅读

1.工厂模式
主要作用是降低耦合度。
代码如下:
  1. <br>abstract class Operation{ <br>abstract public function getValue($num1,$num2); <br>public function getAttr(){ <br>return 1; <br>} <br>} <br>class Add extends Operation{ <br>public function getValue($num1, $num2){ <br>return $num1+$num2; <br>} <br>} <br>class Sub extends Operation{ <br>public function getValue($num1, $num2){ <br>return $num1-$num2; <br>} <br>} <br>class Factory{ <br>public static function CreateObj($operation){ <br>switch ($operation){ <br>case '+': return new Add(); <br>case '-': return new Sub(); <br>} <br>} <br>} <br>$Op=Factory::CreateObj('-'); <br>echo $Op->getValue(3, 6); <br> <br>用在真正开发中一般当做数据库选择类。 <br>2单例模式 <br>单例是因为一个就足够了,多了浪费。比如邮局里的电话簿只有一本,有需要的人拿来看,没有必要每个人要查的时候工作人员就拿一本出来,看完了再回收。 <br><span><u></u></span> 代码如下:<pre class="brush:php;toolbar:false layui-box layui-code-view layui-code-notepad"><ol class="layui-code-ol"><li><br>class Mysql{ <br>public static $conn; <br>public static function getInstance(){ <br>if (!self::$conn){ <br>new self(); <br>return self::$conn; <br>}else { <br>return self::$conn; <br>} <br>} <br>private function __construct(){ <br>self::$conn= "mysql_connect:";// mysql_connect('','','') <br>} <br>public function __clone() <br>{ <br>trigger_error("Only one connection"); <br>} <br>} <br>echo Mysql::getInstance(); <br>echo Mysql::getInstance(); <br> <br>实际中用作数据库连接类和工厂模式一起使用,根据参数调用单例模式,可以提高资源使用效率。</li><li> </li><li> </li></ol></pre>

人气教程排行