設計模式(Design pattern)
#設計模式(Design pattern)是一套被重複使用、多數人知曉的、經過分類編目的、程式碼設計經驗的總結。使用設計模式是為了可重複使用程式碼、讓程式碼更容易被他人理解、保證程式碼可靠性。 毫無疑問,設計模式於己於他人於系統都是多贏的;設計模式使程式碼編制真正工程化;設計模式是軟體工程的基石脈絡,如同大廈的結構一樣。 (推薦學習:PHP程式設計從入門到精通)
為什麼要提倡設計模式 (Design Pattern)呢?
根本原因是為了程式碼重複使用,增加可維護性。
設計模式六大原則
開放封閉原則:一個軟體實體如類別、模組和函數應該對擴充功能開放,對修改關閉。
里氏替換原則:所有引用基類的地方必須能透明地使用其子類的對象.
依賴倒置原則:高層模組不應該依賴低層模組,二者都應該依賴其抽象;抽像不應該依賴細節;細節應該依賴抽象。
單一職責原則:不要存在多於一個導致類別變更的原因。通俗的說,即一個類只負責一項職責。
介面隔離原則:客戶端不應該依賴它不需要的介面;一個類別對另一個類別的依賴應該建立在最小的介面上。
迪米特法則:一個物件應該對其他物件保持最少的了解。
設計模式就是實現了這些原則,從而達到了程式碼重複使用、增加可維護性的目的。
單例模式
所謂單例模式,就是確保某個類別只有一個實例,而且自行實例化並向整個系統提供這個實例,即在應用程式中只會有這個類別的一個實例存在。
通常單例模式用在僅允許資料庫存取物件的實例中,從而防止開啟多個資料庫連接,單例模式是一種常見的設計模式,在電腦系統中,執行緒池、快取、日誌物件、對話框、印表機、資料庫操作、顯示卡的驅動程式常被設計成單例。
單例模式有以下3個特點:
1.只能有一個實例,必須擁有一個建構函數,並且必須被標記為private
2.必須自行建立這個實例,擁有一個保存類別的實例的靜態成員變數
3.必須給其他物件提供這個實例,擁有一個存取這個實例的公共的靜態方法
單例類別不能再其它類別中直接實例化,只能被其自身實例化。它不會建立實例副本,而是會向單例類別內部儲存的實例傳回一個引用
那麼為什麼要使用PHP單例模式?
PHP一個主要應用場合就是應用程式與資料庫打交道的場景,在一個應用中會存在大量的資料庫操作,針對資料庫句柄連接資料庫的行為,使用單例模式可以避免大量的new操作。因為每一次new操作都會消耗系統和記憶體的資源。
以上是php設計模式常用嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!