《深入設計模式》試讀版筆記整理

目錄

類圖基礎

封裝變化的內容

方法層面的封裝

類層面的封裝


參考鏈接:https://refactoringguru.cn/design-patterns/book

類圖基礎

封裝變化的內容

找到程序中的變化內容並將其與不變的內容區分開。
該原則的主要目的是將變更造成的影響最小化。

方法層面的封裝

      假如你正在開發一個電子商務網站。 代碼中某處有一個getOrderTotal 獲取訂單總額 方法, 用於計算訂單的總價
(包括稅金在內)。 我們預計在未來可能會修改與稅金相關的代碼。稅率會根據 客戶居住的國家/地區、州/省甚至城市而有所不同;而且一 段時間後,實際的計算公式可能會由於新的法律或規定而修改。因此,你將需要經常性地修改 getOrderTotal 方法。不
過仔細看看方法名稱,連它都在暗示其不關心稅金是如何計算出來的。
修改前:稅率計算代碼和方法的其他代碼混雜在一起。
你可以將計算稅金的邏輯抽取到一個單獨的方法中,並對原始方法隱藏該邏輯。
修改後:你可通過調用指定方法獲取稅率。
這樣稅率相關的修改就被隔離在單個方法內了。此外,如果稅率計算邏輯變得過於複雜,你也能更方便地將其移動到獨立的類中。

類層面的封裝

一段時間後,你可能會在一個以前完成簡單工作的方法中添 加越來越多的職責。新增行爲通常還會帶來助手成員變量和方法,最終使得包含接納它們的類的主要職責變得模糊。將所有這些內容抽取到一個新類中會讓程序更加清晰和簡潔。
 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章