動機(Motivation)
如果我發現,對于一個field(值域),在其所駐class之外的另一個class中有更多函數使用了它,我就會考慮搬移這個field。上述所謂[使 用]可能通過設值/取值(setting/getting)函數間接進行。我也可能移動該field的用戶(某函數),這取決于是否需要保持接口不受變 化。如果這些函數看上去很合適待在原地,我就選擇搬移field。
使用Extract Class(149)時,我也可能需要搬移field。此時我會先搬移field,然后再搬移函數。
如果我發現,對于一個field(值域),在其所駐class之外的另一個class中有更多函數使用了它,我就會考慮搬移這個field。上述所謂[使 用]可能通過設值/取值(setting/getting)函數間接進行。我也可能移動該field的用戶(某函數),這取決于是否需要保持接口不受變 化。如果這些函數看上去很合適待在原地,我就選擇搬移field。
使用Extract Class(149)時,我也可能需要搬移field。此時我會先搬移field,然后再搬移函數。