Design Patterns - Factory Method Pattern

Factory Method Pattern 簡明扼要的說,就是定義製作者(Creator)和產品(Product)間的關係。我們並不需要在意具體是哪個製作者生產產品,也不需要在意製作者用何種方式生產特定產品,因為我們關注的部分為,是否可拿到特定產品。

<span title='2023-03-08 21:15:20 +0800 +0800'>March 8, 2023</span>&nbsp;·&nbsp;4 分鐘&nbsp;·&nbsp;1734 字&nbsp;·&nbsp;ZhengWei, Liu

Design Patterns - Decorator Pattern

Decorator Pattern 透過修改已定義的行為,以擴展或變更其功能,而不需透過繼承和覆寫。 使用組合 (composition) 替代繼承 (inherit),可動態地添加或移除行為,且不需要在繼承關係中堆疊子類別。 Decorator模式更具靈活性和可維護性,因此被廣泛地應用於軟體開發領域中。

<span title='2023-03-01 22:40:29 +0800 +0800'>March 1, 2023</span>&nbsp;·&nbsp;3 分鐘&nbsp;·&nbsp;1302 字&nbsp;·&nbsp;ZhengWei, Liu

Design Patterns - Observer Pattern

在 Observer Pattern 中,將會明確定義出兩種角色 : 1. IObservable : 被觀察者,如上述的 Server (A類), 2. IObserver : 觀察者,如上述的 Client (B類) 。讓 Server 主動推送(Push)狀態變更的信號給 Client,可以有效的改善輪詢帶來的缺點。

<span title='2023-02-22 20:41:43 +0800 +0800'>February 22, 2023</span>&nbsp;·&nbsp;2 分鐘&nbsp;·&nbsp;927 字&nbsp;·&nbsp;ZhengWei, Liu

Design Patterns - Strategy Pattern

相對於繼承(inherit), Strategy Pattern 則是組合優於繼承(composition over inheritance)的精神。假設有一個薪水計算器要給兩個不同的客戶使用 : 速食業客戶以每小時時薪和工時來核算薪水,外送業客戶以每單獎金和總外送單數來核算薪水。薪水計算器需要提供給不同業者不同核算薪水的方法, Strategy Pattern 則提供了一種方式,使得不同業者可以使用同一個計算器,並選擇不同的核算方式,來獲取薪水計算的結果。

<span title='2023-02-22 11:32:13 +0800 +0800'>February 22, 2023</span>&nbsp;·&nbsp;3 分鐘&nbsp;·&nbsp;1232 字&nbsp;·&nbsp;ZhengWei, Liu