Design Patterns - Factory Method Pattern
Factory Method Pattern 簡明扼要的說,就是定義製作者(Creator)和產品(Product)間的關係。我們並不需要在意具體是哪個製作者生產產品,也不需要在意製作者用何種方式生產特定產品,因為我們關注的部分為,是否可拿到特定產品。
Factory Method Pattern 簡明扼要的說,就是定義製作者(Creator)和產品(Product)間的關係。我們並不需要在意具體是哪個製作者生產產品,也不需要在意製作者用何種方式生產特定產品,因為我們關注的部分為,是否可拿到特定產品。
Decorator Pattern 透過修改已定義的行為,以擴展或變更其功能,而不需透過繼承和覆寫。 使用組合 (composition) 替代繼承 (inherit),可動態地添加或移除行為,且不需要在繼承關係中堆疊子類別。 Decorator模式更具靈活性和可維護性,因此被廣泛地應用於軟體開發領域中。
在 Observer Pattern 中,將會明確定義出兩種角色 : 1. IObservable : 被觀察者,如上述的 Server (A類), 2. IObserver : 觀察者,如上述的 Client (B類) 。讓 Server 主動推送(Push)狀態變更的信號給 Client,可以有效的改善輪詢帶來的缺點。
相對於繼承(inherit), Strategy Pattern 則是組合優於繼承(composition over inheritance)的精神。假設有一個薪水計算器要給兩個不同的客戶使用 : 速食業客戶以每小時時薪和工時來核算薪水,外送業客戶以每單獎金和總外送單數來核算薪水。薪水計算器需要提供給不同業者不同核算薪水的方法, Strategy Pattern 則提供了一種方式,使得不同業者可以使用同一個計算器,並選擇不同的核算方式,來獲取薪水計算的結果。