提取參數(shù)對象重構(gòu)允許您為方法選擇一組參數(shù),并為這些參數(shù)創(chuàng)建包裝類,或者使用現(xiàn)有的兼容包裝類。對所選方法的所有調(diào)用都將對其參數(shù)進(jìn)行適當(dāng)?shù)陌b,并且包裝參數(shù)的所有用法都將被新創(chuàng)建的參數(shù)類上的相應(yīng)調(diào)用所替代。
如果傳遞給方法的參數(shù)數(shù)量變得太大,或者參數(shù)已經(jīng)變得足夠復(fù)雜,以至于它們自己的類的 first-class 處理,那么提取參數(shù)對象就很有用。另外,通常將原始參數(shù)作為參數(shù)對象進(jìn)行包裝,因此可以根據(jù)需要將接口和實現(xiàn)分離。
示例
重構(gòu)前 |
重構(gòu)后 |
---|---|
|
|
提取參數(shù)對象
⒈ 選擇所需的方法。要做到這一點,請打開有問題的類進(jìn)行編輯,然后在該方法上定位插入符號,在 Structure 視圖中單擊此類方法,或者在 UML 類圖中選擇它。
⒉ 在主菜單或選擇的上下文菜單上選擇:重構(gòu)| 提取| 參數(shù)對象。
⒊ 在 "提取參數(shù)對象" 對話框中:
① 在 "參數(shù)類" 部分中,指定是要創(chuàng)建新類,還是使用現(xiàn)有項來包裝參數(shù)。
② 在 "要提取的參數(shù)" 列表中,檢查要包含在新類中的參數(shù)。
③ 單擊 "預(yù)覽" 以使 IntelliJ IDEA 搜索所選字段或方法的用法,并在 "查找" 工具窗口中顯示重構(gòu)預(yù)覽結(jié)果。在預(yù)覽中,您可以將使用實例包括在重構(gòu)中或跳過它們。單擊 "執(zhí)行重構(gòu)" 以將重構(gòu)應(yīng)用于所選的用法。
如果您不想查看使用實例,請單擊 "重構(gòu)"。在這種情況下,將立即更改使用實例。
如果要影響的文件是只讀的,則可能會顯示 "重構(gòu)預(yù)覽" 窗口。