PHP面向對象之設計模式

在面試的時候常常被問到設計模式,那設計模式究竟是什麼東東呢?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操做類:

 

固然,設計模式有不少的種類,上面幾種設計模式是經常使用的。

咱們須要在開發的過程當中,多多留意它們。 

相關文章
相關標籤/搜索