1. 程式人生 > >三、類模型-應用設計原則和設計模式

三、類模型-應用設計原則和設計模式

信用卡 動態 衡量 跟著 定義 判斷 類關系 購物 png

精雕細琢,設計良好的類與類關系

【設計原則】

無論項目開發流程用哪種模式,瀑布、叠代、螺旋、敏捷等。只要是面向對象設計,都應該應用設計原則以提高設計質量

設計SOLID原則:

技術分享圖片

1.設計原則有什麽用?

設計原則就像一把尺子,是衡量類設計的尺子。通過分析來判斷設計的類是否符合設計原則的這5個標準,進而調整類的設計,達到設計良好的目的。

2.為什麽要用設計原則來衡量類設計的好壞?

因為設計原則是為了保證類的可擴展性的,這也是面向對象設計的核心目的。

POS機的例子:

我們經過分析後,發現交易類直接依賴了“會員卡”、“購物卡”、“信用卡”、“現金”這四個子類,這樣不符合DIP原則,如果要增加新的交易方式,那麽“交易”類也要跟著修改。所以,我們增加了一個“支付”類作為這四個子類的父類,“交易”類依賴於支付類(多態的形式)。

技術分享圖片

【設計模式】

設計模式歸根到底也是為了保證類的可擴展性的。

設計模式和設計原則相互之間是互補的關系。

設計原則用於指導“類的定義”的設計,設計模式用於指導“類的動作”的設計。也就是說,設計原則是類的靜態設計原則,設計模式是類的動態設計原則。

一般采用“先設計原則,後設計模式”的方式來操作。

還是POS機的例子:

通過分析我們發現“信用卡”這個類存在優化空間。“信用卡”有多個品牌,每個品牌的接入方式、協議、認證等都是不同的。為了封裝這種差異,我們應用設計模式的Bridge模式,提取出“信用卡處理”類,這個類主要的職責是處理“連接”、“認證”、“扣款”這些職責。所有品牌的信用卡都繼承"信用卡處理"類。

技術分享圖片

三、類模型-應用設計原則和設計模式