教程集 www.jiaochengji.com
教程集 >  脚本编程  >  php  >  正文 php常用设计模式之工厂模式与单例模式介绍

php常用设计模式之工厂模式与单例模式介绍

发布时间:2015-06-14   编辑:jiaochengji.com
php常用设计模式之工厂模式与单例模式介绍,首先,我们看一个工厂模式的例子,工厂模式的主要作用是降低耦合度。

首先,我们看一个工厂模式的例子,工厂模式的主要作用是降低耦合度。
 

复制代码 代码如下:
<?php
/**
  工厂模式的例子
  @link http://www.jiaochengji.com
*/
abstract class Operation{
abstract public function getValue($num1,$num2);
public function getAttr(){
return 1;
}
}
class Add extends Operation{
public function getValue($num1, $num2){
return $num1+$num2;
}
}
class Sub extends Operation{
public function getValue($num1, $num2){
return $num1-$num2;
}
}
class Factory{
public static function CreateObj($operation){
switch ($operation){
case '+': return new Add();
case '-': return new Sub();
}
}
}
$Op=Factory::CreateObj('-');
echo $Op->getValue(3, 6);
?>
 

在实际的开发中,一般用作数据库选择类。

再来看php设计模式之单例模式:单例即唯一存在。简单的说,一个对象只负责一个特定的任务;
比如邮局里的电话簿只有一本,有需要的人拿来看,没有必要每个人要查的时候工作人员就拿一本出来,看完了再回收。
 

复制代码 代码如下:
<?php
class Mysql{
public static $conn;
public static function getInstance(){
if (!self::$conn){
new self();
return self::$conn;
}else {
return self::$conn;
}
}
private function __construct(){
self::$conn= "mysql_connect:";// mysql_connect('','','')
}
public function __clone()
{
trigger_error("Only one connection");
}
}
echo Mysql::getInstance();
echo Mysql::getInstance();
?>
 

说明:
单例模式多用作数据库连接类,并经常与工厂模式一起使用,根据参数调用单例模式,可以提高资源使用效率。

您可能感兴趣的文章:
深入php设计模式实例详解
php常用设计模式之工厂模式与单例模式介绍
php工厂模式实例代码
JavaScript设计模式一:工厂模式和构造器模式
php常用的三种设计模式的学习笔记
php设计模式之单例模式、工厂模式与观察者模式
java工厂模式的学习笔记
Golang设计模式之抽象工厂模式
java设计模式之抽象工厂模式实例
建造者模式是什么?

[关闭]
~ ~