Design Pattern - Template模板模式

Template模板模式:

抽象父類別:定義了一個模板方法和抽象方法,該模板方法定義了框架及一系列流程。

子類別:透過繼承抽象父類別實作各個抽象方法,且不可改變流程。

優點:符合OCP開放封閉原則,新增功能,應要新增程式碼而不是修改既有程式碼來擴充系統,且也減少程式碼重複性以便於維護。

缺點:流程於抽象父類別中,而各個流程的實作邏輯於子類別中,程式碼較不易閱讀。

...繼續閱讀 »

Design Pattern - Observer觀察者模式

Observer觀察者模式:

定義對象之間的一對多依賴關係,當一個對象更改狀態時,會自動通知其所有依賴的對象,也就是一個發佈者可以向多個事件的訂閱者發送訊息。

當多個 Class 都需要接收同一種資料的變化時,就適合使用 Observer Pattern。

上述「多個 Class 」指的就是「觀察者」,而「同一種資料」指的就是觀察者們想了解的「主題」,因此Observer Pattern實作的原理是將資料抽離出來,當資料改變時,同步發送給所有的觀察者。

...繼續閱讀 »

Design Pattern - Decorator裝飾者模式

Decorator裝飾者模式:

裝飾者模式通常用來動態的添加物件的前後新功能或行為,不需要時也方便移除該功能,而不需要修改原始類別的程式碼,允許你將功能封裝於獨立的類別中,組合這些裝飾者而實現功能。

透過裝飾者模式也符合開放封閉原則,對擴充是開放的,對修改是封閉的。

 

...繼續閱讀 »

RESTful設計風格

RESTful認知

REST和RESTful關係:


RESTful是REST的形容詞,其實是一樣的,是一個設計風格,根據RESTful API的設計風格,無狀態及避免不同的工程師有不同的命名習慣,定義唯一的URL,利用HTTP動詞呼叫,達到唯一的URL做GET、POST、PUT、DELETE。

...繼續閱讀 »