五種常用的設計模式:
1、單例模式2、工廠模式3、觀察者模式4、命令鏈模式 5、策略模式
(1)單例模式:單例模式顧名思義,就是隻有一個實例。作爲對象的創建模式, 單例模式確保某一個類只有一個 實例,而且自行實例化並向整個系統提供這個實例。
一個類在整個應用中,只有一個對象實例的設計模式
類必須自行創建這個實例
必須自行向整個系統提供這個實例
三私:私有靜態成員變量、構造函數、克隆函數
一公:公共的靜態方法
單例模式的要點有三個:
一是某個類只能有一個實例;
二是它必須自行創建這個實例;
三是它必須自行向整個系統提供這個實例。
典型的代表如框架中的基類對象。
(2)工廠模式
可以根據輸入的參數或者應用程序配置的不同一創建一種專門用來實例化並返回其它類的實例的類
①抽象基類:類中定義抽象一些方法,用以在子類中實現
②繼承自抽象基類的子類:實現基類中的抽象方法
(3)觀察者模式
觀察者模式提供了組件之間緊密耦合的另一種方法。
該模式:一個對象通過添加一個方法(該方法允許另一個對象,即觀察者註冊自己)全本身變得可觀察。當可觀察的對象更改時,它會將消息發送到已註冊的觀察者。這些觀察者使用該信息執行的操作與可觀察的對象無關。
(4)命令鏈模式
以鬆散耦合主題爲基礎,發送消息、命令和請求,或通過一組處理程序發送任意內容。每個處理程序都會自行判斷自己能否處理請求,如果可以,該請求被處理,進程停止。
(5)策略模式
此算法是從複雜類提取的,因而可以方便地替換。
-----------------------------------------------------------------分割線--------------------------------------------------------
在PHP中,我主要使用了以下兩種設計模式:
單例模式
單例模式顧名思義,就是隻有一個實例。作爲對象的創建模式, 單例模式確保某一個類只有一個實例,而且自行實例化並向整個系統提供這個實例。
單例模式的要點有三個:
一是某個類只能有一個實例;
二是它必須自行創建這個實例;
三是它必須自行向整個系統提供這個實例。
典型的代表如框架中的基類對象。
簡單工廠模式
①抽象基類:類中定義抽象一些方法,用以在子類中實現
②繼承自抽象基類的子類:實現基類中的抽象方法
③工廠類:用以實例化所有相對應的子類
這種我們使用最常見,基本所有的MVC框架中都是這樣產生的。