Re: [問題] Java Intropection的代價是否很貴?
※ 引述《dream1124 (全新開始)》之銘言:
: 會問這個問題,是因為好像曾經聽過這類說法
: 再加上最近看過 apache BeanUtils 的原始碼以後,
: 發覺原來就算只是物件的屬性蓋來蓋去也可以這麼複雜....
: 既是查找,然後定義再比對,最後還要快取
: 密密麻麻程式碼讓我不知如何下手... 其實我想解決的問題不複雜啊~ Orz
: 現在很流行讓屬性的 setter 有回傳值,然後型態設定為物件自己,
: 接著理所當然在設定完屬性後回傳自己,方便使用者連續呼叫 setter 設定屬性。
: 只是公司多年長期維護下來的案子已經很舊了
: 裡面依賴的 struts1 , apache BeanUtils 2.1, 都不覺得這種 setter 是合理的,
: 讓我想把物件的 setter 回傳自己的構想很難實行....
: 因此有自行實現 BeanUtils 工具的想法
: 只是看到 BeanUtils 的原碼令我有些卻步,
: 想請問有什麼方法可以解決像這樣的需求呢?
: 不管是開發新工具還是改舊的工具,請問大家會怎麼做呢?
還是要用javabean標準的setter/getter吧...
fluent interface不是標準javabean..
不建議修改你原專案這邊的code
如果你想用fluent interface
我建議包成builder pattern (這就很常見用fluent interface)
假設你有一個Car的javabean..
中間有些Wheel啊..Handler啊..什麼的要產生
我會用
Car car = new CarBuilder()
.setMaxSpeed()
.createWheels(xxx)
.createHandler(xxx)
.build();
但是Car, Wheel, Handler裡面都還是會用javabean的方式來做setter/getter
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.163.46.230
推
01/23 22:30, , 1F
01/23 22:30, 1F
→
01/24 00:48, , 2F
01/24 00:48, 2F
→
01/24 00:53, , 3F
01/24 00:53, 3F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
java 近期熱門文章
PTT數位生活區 即時熱門文章