| 寫法一:分散方法 | 寫法二:合併方法 |
|---|---|
|
|
兩者執行後,`benjinD`、`lilvD`、`shijianI` 獲得相同值。差異僅在**程式碼組織**。
| 維度 | 分散方法 | 合併方法 |
|---|---|---|
| **單一職責** | ✅ 每方法只做一件事 | ❌ 一方法處理三欄位 |
| **可複用性** | ✅ 可單獨呼叫 `getBenjin()` | ❌ 必須全跑 |
| **可測試性** | ✅ 易單元測試 | ❌ 需準備三欄位資料 |
| **呼叫便利性** | ❌ 需呼叫三次 | ✅ 一次呼叫完成 |
| **程式碼行數** | 較多 | 較少 |
public void getNumber() {
getBenjin();
getLilv();
getShijian();
}
String txt = benjin.getText().trim();
if (!txt.isEmpty()) benjinD = Double.parseDouble(txt);
功能無差別,**分散方法結構更好**。若需合併呼叫,提供一個委派方法即可,不要犧牲模組化。