// 共同介面
inte***ce db
// 伺服器端開發(不知道將會被誰呼叫)
class dbsqlite implements db
}class dbmysql implements db
}class factoryelseif($type == 'sqlite')else
}}// 客戶端呼叫時,不知道工廠類中例項化的幾種類,只需要傳遞$type引數就可以
$db = factory::creatdb('mysql');
$db->conn();
// 共同介面
inte***ce db
inte***ce factory
// 伺服器端開發(不知道將會被誰呼叫)
class dbsqlite implements db
}class dbmysql implements db
}class mysqlfactory implements factory
}class sqlitefactory implements factory
}// *****伺服器端新增了oracle類
// 前面的**不用修改
class dboracle implements db
}class oraclefactory implements factory
}// *****客戶端開始====
$fact = new mysqlfactory();
$db = $fact->createdb();
$db->conn();
$fact = new sqlitefactory();
$db = $fact->createdb();
$db->conn();
$fact = new oraclefactory();
$db = $fact->createdb();
$db->conn();
// 在物件導向設計法則中,重要的開閉原則--對於修改是封閉的,對於擴充套件是開放的
// 第二步 封鎖new操作
class sigle
public static function getins()
return self::$ins;
}// 防止被轉殖
final protected function __clone(){}
}$s1 = sigle::getins();
// $s2 = clone $s1;
$s2 = sigle::getins();
if($s1 === $s2)else
class user implements splsubject
public function login()
public function attach(splobserver $observer)
public function detach(splobserver $observer)
public function notify()
}}class security implements splobserverelse
}}class ad implements splobserverelse
}}// 實施觀察
$user = new user('sports');
$user->attach(new security());
$user->attach(new ad());
$user->login();
// 裝飾器模式做文章修飾功能
class baseart
public function decorator()
}class editorart extends baseart
public function decorator()
}// seo新增內容
class seoart extends baseart
public function decorator()
}// 無論是哪個先編輯,順序都可以進行交換
$x = new seoart(new editorart(new baseart('天天向上')));
$y = new editorart(new seoart(new baseart('天天向上')));
echo $x->decorator();
echo '
';echo $y->decorator();
php設計 PHP常用設計模式
1 單例模式指在整個應用中只有乙個物件例項的設計模式 class single public rand static private instance 類直接呼叫 final private function construct private防止外部new this rand mt rand 1,...
PHP設計模式 工廠設計模式
工廠模式,如其名稱一樣,就是乙個工廠,用於建立產品。使用工廠模式的好處就是請求者只需要發出請求,具體的例項化過程交給工廠模式,省去了new的過程。並且如果後期開發,類名發生變化,只需要調整工廠模式中一行new相關 不需要修改一大堆 最簡單的工廠模式,實際上就是乙個switch case結構,通過傳入...
php設計模式
php設計模式介紹 導言 php設計模式介紹 第一章 程式設計慣用法 php設計模式介紹 第二章 值物件模式 php設計模式介紹 第三章 工廠模式 php設計模式介紹 第四章 單條模式 php設計模式介紹 第五章 註冊模式 php設計模式介紹 第六章 偽物件模式 php設計模式介紹 第七章 策略模式...