iT邦幫忙

0

[討論] JAVA 怎麼設計減少傳遞值的物件

以下簡單舉例,例如:
A 傳到 B, 定義E物件傳值,如參數有:id, name, age, birthday
C 傳到 D, 定義F物件傳值,如參數有:classId(所屬班級), name, phone, address

克理獅 iT邦新手 4 級 ‧ 2019-09-05 14:11:50 檢舉
???
看不懂你在問什麼
不貼個程式出來蕉流蕉流?
如果了解自定義物件,來傳遞值,就知道我在說什麼了,
寫過幾個專案的話,這是基本知識,只是想知道怎麼處理這些自定義物件,
會是比較好的設計,例如 java bean就是個自定義物件,
不一定與資料庫的欄位完全相同
克理獅 iT邦新手 4 級 ‧ 2019-09-16 17:00:36 檢舉
傻眼
你的描述不清不楚,講得好像別人就應該看懂?
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
headmo
iT邦新手 5 級 ‧ 2019-09-06 10:22:13

我估計 樓主想説這個
用 Bean 或者 HashMap 都可以吧?

// This is a bad Method since you need to change the method declaration
// everytime if you wanna add some other parameters to this method.
public void doSomething(int id, String name, int age, Date birthday) {
	return null;
}

// This is a better Method
public void doSomething(User user) {
    int id = user.getId();
    String userName = user.getName();
	return null;
}

// If you don't want to create bean for some reason
// you may try using HashMap, surely this also has some draw backs.
public void doSomething(HashMap<String,Object> parms) {
    Integer id = (Integer)parms.get("userId");
    String userName = (String)parms.get("userName");
	return null;
}
看更多先前的回應...收起先前的回應...

意思是只要有一個自訂物件需要傳遞,就增加bean? 那bean之間屬性相近(例如只有一個屬性不同),用繼承處理嗎?

headmo iT邦新手 5 級 ‧ 2019-09-09 12:24:01 檢舉

用繼承處理嗎?
如果做得到 當然好.
但這些最好一開始設計時就要想好, 可以用abstract class 去定義

我個人淺見供您參考
1.如果只有一個屬性不同,何不直接在原物件加入該屬性呢?
2.要使用繼承的情境,最好是兩物件之間是is a的關係

is a是指?

我要發表回答

立即登入回答