好站推薦 - 物件導向

  • 13978
  • 0
  • 2021-11-23

此篇介紹在網路上看到不錯的中文網站。

感謝他們辛苦分享相關知識 !!! 供大家更上一層樓。

以下使用學習順序來排序,若跟著走應該能得到最佳的學習曲線。

 

對類別與物件導向概念不熟悉的玩家,小弟個人建議剛看這些網站時只用自己理解的方式吸收,不要強迫大腦吸收不理解的觀點哪怕當下理解是錯的都比強迫理解好。當腦中有了概念再試著重新去了解這些作者的概念,此時是修正自己腦內的概念時機點。相信玩家們每看一次都會有所收穫。


 

...繼續閱讀 »

設計模式 - 裝飾者模式

  • 1852
  • 0
  • 2018-04-01

此篇簡單介紹裝飾者模式.

    應用情境: 
        有個需求介面, 底下有很多的實作. 此時需要為這些物件的某些方法進行加工, 這些加工並沒有統一性且無規則可言的同時(就是無法靠介面原有的定義來增加實作達到需求時), 此時就能透過裝飾者模式來完成需求.

    原理:
        透過繼承需求介面創建一個抽象類, 並使用實作類來完成. 且透過原介面所定義的方法來完成加工. 客戶端在使用邏輯上是一模一樣的(流程稍加不同), 執行同樣的方法卻產出不同的行為.


 

...繼續閱讀 »

設計模式 - 責任鍊模式

  • 1861
  • 0
  • 2018-04-01

此篇簡單介紹責任鍊模式.

使用情境: 
        在很多情況下, 例如網頁抓取往往會因為要抓取不同的標籤內文寫出不同的判斷. 若需求一直變動或者條件一直增加會導致需求變動時不易修改, 條件增加時要修改主程式. 這樣的結果往往會導致程式碼難以維護以及增加修改風險.

原理:
        將每個判斷的條件轉換成物件, 並讓物件自身去判定自己有沒有需要, 若不需要則交由下一個物件.


 

...繼續閱讀 »

設計模式 - 策略模式

  • 1283
  • 0

此篇簡單介紹策略模式。

關注在 :

  • 降低耦合提高聚合
  • 聚焦於高階模組與低階模組所依賴的抽象,而不是實作類別
  • 因應設計時期的需求去動態切換該使用哪種行為

要點 :

  • 高度的使用介面(抽象)
  • 針對介面(抽象)來思考而非針對實踐
  • 多用合成少用繼承
  • 適度的使用命名空間管理同一類型的介面或者子類
  • 妥善應用 private protected public internal sealed 修飾詞
  • 理解 interface 與 abstract 的使用方法

 

...繼續閱讀 »