PHP設計模式

2021-09-12 15:16:12 字數 2307 閱讀 3080

// 共同介面

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設計模式介紹 第七章 策略模式...