一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - PHP最常用的2種設計模式工廠模式和單例模式介紹

PHP最常用的2種設計模式工廠模式和單例模式介紹

2020-01-06 16:29PHP教程網 PHP教程

當你在不斷的試圖從你的應用程序中發現新的特征時,你是否發現你提出的解決方法和一些以前你已經實現的東西是如此的類似呢

1.工廠模式 
主要作用是降低耦合度。 

復制代碼代碼如下:


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); 


用在真正開發中一般當做數據庫選擇類。 
2單例模式 
單例是因為一個就足夠了,多了浪費。比如郵局里的電話簿只有一本,有需要的人拿來看,沒有必要每個人要查的時候工作人員就拿一本出來,看完了再回收。 

復制代碼代碼如下:


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(); 


實際中用作數據庫連接類和工廠模式一起使用,根據參數調用單例模式,可以提高資源使用效率。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产青草亚洲香蕉精品久久 | 免费超级乱淫视频播放性 | 我半夜摸妺妺的奶C了她 | 午夜影院一区二区三区 | 精品国产91久久久久久久 | 精品无人区乱码1区2区3区免费 | tk白嫩玉足脚心vk | 四虎在线网站 | 亚洲日本aⅴ片在线观看香蕉 | 波多野结衣黑人系列在线观看 | 国产精品久久久久久久久免费 | 青青青在线免费 | 亚洲国产精品高清在线 | 涩涩漫画免费 | 秋霞理论最新三级理论最 | 四虎影视永久免费视频观看 | 日本高清中文字幕一区二区三区 | 亚洲欧美日韩久久一区 | 鸥美毛片 | 日本免费高清在线观看播放 | 玩50岁四川熟女大白屁股直播 | 国产全部理论片线观看 | 97色资源| 国产亚洲精品综合在线网址 | 操老逼| 火影小南被爆羞羞网站 | 五月激激激综合网色播免费 | 欧美视频一二三区 | avav男人天堂| 深夜福利一区 | 亚洲精品无码不卡在线观看 | 欧美美女一区二区三区 | 日韩黄色录像 | 国产高清在线精品一区 | 成人福利影院 | 万域之王动漫在线观看全集免费播放 | 欧美日韩视频在线成人 | 亚洲一区二区三区91 | 我要看黄色毛片 | 猫咪免费人成网站在线观看入口 | 久久 这里只精品 免费 |