在面試的時候常常被問到設計模式,那設計模式究竟是什麼東東呢?php
其實咱們在開發工做中常常遇到設計模式,只是咱們並不知道咱們這個類,方法是一種設計模式。面試
下面就介紹幾種經常使用的設計模式,下次再開發的時候,當遇到此類的狀況就能知道究竟是哪種設計模式。sql
1.單例模式:instance,多態的體現。數據庫
單例模式顧名思義,就是隻有一個實例。做爲對象的建立模式, 單例模式確保某一個類只有一個實例,並且自行實例化並向整個系統提供這個實例。設計模式
案例:數組
1.php的應用主要在於數據庫應用, 一個應用中會存在大量的數據庫操做, 在使用面向對象的方式開發時, 若是使用單例模式, 則能夠避免大量的new 操做消耗的資源,還能夠減小數據庫鏈接這樣就不容易出現 too many connections狀況。函數
2.若是系統中須要有一個類來全局控制某些配置信息, 那麼使用單例模式能夠很方便的實現. 工具
2.簡單工廠模式設計
工廠模式是咱們最經常使用的實例化對象模式,是用工廠方法代替new操做的一種模式。3d
就是用工廠類的方法去實例化其餘類。
如:定製工廠
1.定義一個接口,裏面包含交工工具的製造方法(啓動 運行 中止)
2.分別寫製造飛機,汽車的工廠類去繼承實現這個接口
3.觀察者模式
觀察者模式屬於行爲模式,是定義對象間的一種一對多的依賴關係,以便當一個對象的狀態發生改變時,全部依 賴於它的對象都獲得通知並自動刷新。
它完美的將觀察者對象和被觀察者對象分離。
4. 註冊模式
註冊模式,解決全局共享和交換對象。已經建立好的對象,掛在到某個全局可使用的數組上,在須要使用的時候,直接從該數組上獲取便可。
將對象註冊到全局的樹上。任何地方直接去訪問。
5.適配器模式
將各類大相徑庭的函數接口封裝成統一的API。
PHP中的數據庫操做有MySQL,MySQLi,PDO三種,能夠用適配器模式統一成一致,使不一樣的數據庫操做,統一成同樣的API。
接口:
Mysql操做類:
PDO操做類:
固然,設計模式有不少的種類,上面幾種設計模式是經常使用的。
咱們須要在開發的過程當中,多多留意它們。