《大話設計模式》學習筆記二》

2022-03-04 11:35:32 字數 533 閱讀 9908

做乙個商場收銀的小系統。剛開始程式設計的時候,沒有想到**的可維護性,因此編出來的程式只能是正常收費的情況。當商場打算搞**那該怎麼辦呢?只好重寫程式。再次寫這個程式的時候要考慮的代買的可維護性。

我們考慮一下,商場無論怎麼搞**活動,不同的僅僅是收銀時的打折處理方法,而基本的計算總價方法是相同的,不同的打折手段是特性。因此我們可以寫乙個抽象類,在這個抽象類中有乙個抽象方法(這個抽象方法以當前總價為輸入引數,輸出打折後的價錢),然後我們就再編寫各種打折的方法類,這些類都繼承與上乙個抽象類,都根據自己的打折辦法,重寫了打折計算方法。然後再寫乙個現金收取工廠,用父類定義個引用,當選擇不同的**打折方法時,用不同的子類對 引用進行例項化,並別返回這個例項化後的物件。

需求的變更時必然!所以開發者應該是考慮如何讓自己的程式更能適應變化,而不是抱怨客戶的無理,客戶不會管程式設計師加班時的汗水,也不相信程式設計師失業時的眼淚。

在上面的例子中,由於商場可能經常性的更改打折額度和範例額度,每次更改**重新編譯部署真的是很糟糕的處理方式,面對演算法的時常變動,應該有更好的辦法。應該好好的研究一下設計模式。《深入淺出設計模式》

大話設計模式 筆記二

單一職責原則 單一職責原則 srp 對於乙個類而言,應該僅有乙個引起它變化的原因。通俗的說,乙個類只能幹乙個事,只能承擔乙個職責。如果乙個類承擔的職責過多,等於把這些職責耦合在一起,這種耦合會導致設計十分的脆弱,當變化發生的時候,會遭到意想不到的破壞。開放 封閉原則 開放封閉原則,簡稱開閉原則,指軟...

《大話設計模式》學習筆記

當我們學習了物件導向分析設計程式設計思想,我們要考慮通過封裝 繼承 多型把程式的耦合度降低。使得程式具備五個特點 可維護 可復用 可擴充套件 靈活性好。寫出來的程式 要規範,變數的命名等都要有意義,最後都用英文代替,要有異常判斷和錯誤處理。有人說初級程式設計師的工作就是複製和貼上,這其實是非常不好的...

大話設計模式筆記(二) 策略模式

商場收銀軟體,營業員根據客戶所購買的商品單價和數量,向客戶收費。普通實現 created by callmedevil on 2019 6 1.public class normaltest 計算總價 param price 單價 param num 數量 return private static...