《php設(shè)計(jì)模式 工廠模式和單例模式》要點(diǎn):
本文介紹了php設(shè)計(jì)模式 工廠模式和單例模式,希望對(duì)您有用。如果有疑問(wèn),可以聯(lián)系我們。
//讓該類(lèi)在外界無(wú)法造對(duì)象
//讓外界可以造一個(gè)對(duì)象,做一個(gè)靜態(tài)辦法返回對(duì)象
//在類(lèi)里面通過(guò)讓靜態(tài)變量控制返回對(duì)象只能是一個(gè).
單例模式的要點(diǎn)有三個(gè):
一是某個(gè)類(lèi)只能有一個(gè)實(shí)例;
二是它必需自行創(chuàng)建這個(gè)實(shí)例;
三是它必需自行向整個(gè)系統(tǒng)提供這個(gè)實(shí)例.
為什么要使用PHP單例模式
1. php的應(yīng)用主要在于數(shù)據(jù)庫(kù)應(yīng)用, 一個(gè)應(yīng)用中會(huì)存在大量的數(shù)據(jù)庫(kù)操作, 在使用面向?qū)ο蟮姆绞介_(kāi)發(fā)時(shí), 如果使用單例模式, 則可以避免大量的new 操作消耗的資源,還可以減少數(shù)據(jù)庫(kù)連接這樣就不容易呈現(xiàn) too many connections情況.
2. 如果系統(tǒng)中必要有一個(gè)類(lèi)來(lái)全局控制某些配置信息, 那么使用單例模式可以很方便的實(shí)現(xiàn). 這個(gè)可以參看zend Framework的FrontController部分.
3. 在一次頁(yè)面哀求中, 便于進(jìn)行調(diào)試, 因?yàn)樗械拇a(例如數(shù)據(jù)庫(kù)操作類(lèi)db)都集中在一個(gè)類(lèi)中, 我們可以在類(lèi)中設(shè)置鉤子, 輸出日志,從而避免到處var_dump, echo.
①抽象基類(lèi):類(lèi)中定義抽象一些辦法,用以在子類(lèi)中實(shí)現(xiàn)
②繼承自抽象基類(lèi)的子類(lèi):實(shí)現(xiàn)基類(lèi)中的抽象辦法
③工場(chǎng)類(lèi):用以實(shí)例化所有相對(duì)應(yīng)的子類(lèi)
《php設(shè)計(jì)模式 工廠模式和單例模式》是否對(duì)您有啟發(fā),歡迎查看更多與《php設(shè)計(jì)模式 工廠模式和單例模式》相關(guān)教程,學(xué)精學(xué)透。維易PHP學(xué)院為您提供精彩教程。
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/14274.html