色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

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

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

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

php技術PHP最常用的2種設計模式工廠模式和單例模式介紹,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 凤城市| 睢宁县| 吉木乃县| 巴楚县| 建瓯市| 祥云县| 桑植县| 辽中县| 烟台市| 青神县| 莒南县| 青河县| 邵阳县| 思茅市| 中牟县| 仁化县| 钟祥市| 宜宾市| 阜宁县| 石柱| 石景山区| 海城市| 丽江市| 麻栗坡县| 利津县| 西丰县| 廊坊市| 威信县| 定日县| 仙桃市| 霍邱县| 滁州市| 吐鲁番市| 牙克石市| 蓝田县| 理塘县| 鄂州市| 宝丰县| 黔东| 安庆市| 如皋市|