PHP草根論之設計 模式 狀態模式

2021-06-26 07:54:21 字數 409 閱讀 3055

此處只討論在php實際開發過程中的應用

本模式概念上較為簡單,實現也簡單,不在此描述.

適用範圍:

1.物件的狀態較多 2.

物件的某一

/某些方法

,會根據狀態的不同有不同的行為

,通常是使用判斷語句來進行分支 3.

執行過程中

(同一次會話中

)進行了狀態的轉換

草根觀點:

1.如果狀態只有三/五個,或者只是簡單的線性關係,就不要用這麼複雜的東西了.

2.如果狀態區分**較少,a.可以使用分支判斷來分別處理.b.分支後呼叫子方法來處理(每個狀態乙個方法)

3.實踐中是否使用此模式要根據**的複雜度來判斷, 當使用普通方法來實現時,**量較大,且邏輯複雜,超出了可閱讀的範圍,那麼再來使用此模式吧.

PHP草根論之設計 模式 外觀模式

此處只討論在php實際開發過程中的應用 草根觀點 這個東西沒那麼複雜,我舉個例子就明白了 程式裡有個類,用來處理除錯資訊,具體實現如下 if isdebug 每次都要判斷當前是否除錯模式,如果是,那麼記錄.這三行 經常使用,感覺真麻煩,所以我定義了乙個全域性函式 function debug msg...

PHP草根論之設計 模式 組合模式

此處只討論在php實際開發過程中的應用 草根觀點 我在看了別人的文章後,想在自己的專案找到乙個例項,攪盡 汁也沒想到乙個例項.別人的例子一直都是以樹為例,我就想啊 就不能換個資料結構.後來,我終於想明白,別的資料結構還真就不行.實際專案中能用到樹的地方,乙個是選單,乙個是產品分類,還有國家 省份 城...

PHP草根論之設計模式 訪問者模式

關於模式本身的概念,請參考網上其他文章 此處僅僅討論在php實際開發過程中的應用 此模式適用範圍極為受限 適用情景 1.適用於專案維護過程 不適用於專案開發過程 2.新增需求 要求為乙個 多個類新增乙個 多個 同樣 相似的方法 3.原有 不能改動或擴充套件 4.原有類已經預留了乙個為本模式準備的介面...