国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 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(); 
實際中用作數據庫連接類和工廠模式一起使用,根據參數調用單例模式,可以提高資源使用效率。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 石嘴山市| 项城市| 夏津县| 大竹县| 淮安市| 明光市| 沭阳县| 陈巴尔虎旗| 徐闻县| 宁陵县| 沅陵县| 安西县| 甘孜| 石景山区| 昌平区| 措勤县| 名山县| 颍上县| 西青区| 沂水县| 鸡西市| 云浮市| 松桃| 富裕县| 子长县| 锡林郭勒盟| 宁波市| 那曲县| 沙雅县| 阿瓦提县| 诏安县| 门头沟区| 西乡县| 德钦县| 仁寿县| 拜泉县| 秭归县| 长白| 永康市| 东阿县| 钟祥市|