源**
1//重構前
2class
account314
return
result;15}
16else
1720}21
22private:23
accounttype m_type;
24int
m_ndaysoverdrawn;
25 };
搬移函式
1class
accounttype213
return
result;14}
15else
1619}20
21bool
ispremium()
2226
};27
28class
account
2938
return
result;39}
4041
private:42
accounttype m_type;
43int
m_ndaysoverdrawn;
44 };
總結在程式中,如果有個函式與其所駐之類的另外乙個類進行更多交流,呼叫後者或被後者呼叫。
在該函式最常引用的類中建立乙個有著類似行為的新函式。
將舊函式變成乙個單純的委託函式,或將舊函式完全移除。
good good study, day day up.
順序 選擇 迴圈 總結
7 1 move method 搬移函式
在該函式最常引用的類中建立乙個有著類似行為的新函式。將舊函式變成乙個單純的委託函式,或是將舊函式完全移除。動機 如果乙個類有太多行為,或如果乙個類與另乙個類有太多合作而形成高度耦合,我就會搬移函式。使用另乙個物件的次數比使用自己所駐物件的次數還多。觀察呼叫它的那一端,它呼叫的那一端,以及繼承體系中它...
21高階函式
引數和返回值都是函式。傳入引數是函式 val arr array 1,2,3,4 val fun x int x 2 val res arr.map fun 傳入匿名函式 val res2 arr.map x int x 2 val res3 arr.map 2 返回值是函式 def urlbuil...
21 函式基礎
1 什麼是函式 具備某一功能的工具 函式 工具的使用 事先準備好好工具 函式的定義 遇到應用場景拿來就用 函式的呼叫 2 為何要有函式 1 程式的組織結構不清晰 可讀性差 2 如果要用到重複的功能,只能拷貝功能的實現 冗餘 3 可擴充套件性差 3 如何用函式 函式的使用原則 先定義,後呼叫 定義函式...