PHP面向對象筆記05

【面向對象的設計原則】

 

2.1-面向對象設計的五大原則

 

2.1.1-單一職責原則  SRP

1. 單一職責有兩個含義:① 避免相同的職責分散到不同的類中 ② 避免一個類承擔太多職責

2. 爲什麼要遵守SRP: ① 減少類之間的耦合 ② 提高類的複用性

3. SRP在實際代碼開發中的應用:

    (1)工廠模式(Factory):允許在代碼執行時實例化對象。

            →(案例-用工廠模式解決連接多個數據庫)----詳見PDF

            →(案例-用工廠模式解決SNS動態實現)----詳見PDF

    (2)命令模式:分離“命令的請求者”和“命令的實現者”方面的職責。

            →(案例-用命令模式解決餐館喫飯的問題)

 

2.1.2-接口隔離原則  ISP

1.IPS的主要觀點:

    ① 一個類對另外一個類的依賴性應當是建立在最小的接口上的。

    ② 客戶端程序不應該依賴它不需要的接口方法(功能),而是依賴它所需要的接口。

2.對接口的污染:

3.對於接口的污染,考慮兩條處理方式:① 利用委託分離接口;② 利用多繼承分離接口。

 

2.1.3-開放-封閉原則  OCP

1. 此原則能夠提高系統的可擴展性和可維護性。

    →(案例-播放器)

2. 此原則的核心思想是 對抽象編程,而不對具體編程,因爲抽象相對穩定。

3. 如何遵守開放-封閉原則

    ① 在設計方面充分應用“抽象”和“封裝”的思想

    ② 在系統功能編程實現方面應用接口interface的編程

 

2.1.4-(里氏)替換原則  LSP

 

2.1.5-依賴倒置原則  DIP

1. 將依賴關係倒置爲依賴接口,抽象不能依賴於具體,具體應該要依賴於抽象。

2. 如何滿足DIP:

    每個較高層次類都爲它所需要的服務提出一個接口聲明,較低層次類實現這個接口。

    每個高層類都通過該抽象接口使用服務。

 

 

1.拋出和捕獲異常:

2.PHP基本異常類:

(代碼10.1-exception.php)

10.2.簡單工廠模式:(代碼10.2-FactorPattern.php)

10.3.單例模式:(代碼10.3-SingletonPattern.php)

10.4.觀察者模式:(10.4-ObserverPattern.php)

10.5 命令模式:(10.5-CommandPattern.php)

10.6 策略模式 (10.6-StrategyPattern.php)

10.7 MVC模式

【代碼】【代碼】https://github.com/rxbook/study-php-object/tree/master/code05  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章