首页 > 开发 > PHP > 正文

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

2024-05-04 21:53:02
字体:
来源:转载
供稿:网友

1.工厂模式

主要作用是降低耦合度。

  1. abstract class Operation{ 
  2.     abstract public  function getValue($num1,$num2); 
  3.     public  function getAttr(){ 
  4.         return 1; 
  5.     } 
  6. class Add extends Operation{ 
  7.     public function getValue($num1$num2){         
  8.         return $num1+$num2
  9.     } 
  10.  
  11. class Sub extends Operation{ 
  12.     public function getValue($num1$num2){ 
  13.         return $num1-$num2
  14.     } 
  15.  
  16. class Factory{ 
  17.     public static function CreateObj($operation){ 
  18.          
  19.         switch ($operation){ 
  20.             case '+'return new Add(); 
  21.             case '-'return new Sub(); 
  22.         } 
  23.          
  24.     } 
  25.  
  26. $Op=Factory::CreateObj('-'); 
  27. echo $Op->getValue(3, 6); 
用在真正开发中一般当做数据库选择类。
2单例模式
单例是因为一个就足够了,多了浪费。比如邮局里的电话簿只有一本,有需要的人拿来看,没有必要每个人要查的时候工作人员就拿一本出来,看完了再回收。
  1. class Mysql{ 
  2.     public static $conn
  3.     public static function getInstance(){ 
  4.         if (!self::$conn){ 
  5.             new self(); 
  6.             return self::$conn
  7.         }else { 
  8.             return self::$conn
  9.         } 
  10.          
  11.     } 
  12.     private  function __construct(){     
  13.         self::$conn=  "mysql_connect:";//    mysql_connect('','','')     
  14.     } 
  15.      
  16.     public function __clone() 
  17.     { 
  18.         trigger_error("Only one connection"); 
  19.     } 
  20.  
  21.  echo Mysql::getInstance(); 
  22.  echo Mysql::getInstance(); 
实际中用作数据库连接类和工厂模式一起使用,根据参数调用单例模式,可以提高资源使用效率。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表