最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2012年08月14日 08:58:42   作者:  
當你在不斷的試圖從你的應用程序中發(fā)現新的特征時,你是否發(fā)現你提出的解決方法和一些以前你已經實現的東西是如此的類似呢
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);

用在真正開發(fā)中一般當做數據庫選擇類。
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();

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

相關文章

最新評論

繁昌县| 阿合奇县| 焦作市| 英山县| 南岸区| 慈利县| 三明市| 轮台县| 深圳市| 宜兴市| 广水市| 阿鲁科尔沁旗| 富锦市| 灵台县| 佛学| 黎川县| 定西市| 黑河市| 芮城县| 清徐县| 莫力| 永清县| 新竹市| 柏乡县| 金湖县| 临湘市| 海盐县| 西贡区| 岳普湖县| 文登市| 永康市| 南汇区| 丽水市| 洱源县| 成都市| 瑞安市| 吴堡县| 广东省| 白银市| 富锦市| 岳阳县|