http://www.javaworld.com.tw/jute/post/view?bid=25&id=13152&sty=1&tpg=1&age=0所謂的Transfer Object就是用來傳送資料的一個Object
傳統的Entity bean的做法通常我們會把entity設計成一個attribute一組getter/setter
但是這種做法我們通常會說是fine-grained的...
也就是細顆粒的設計方法
這種做法有一個最不好的地方就是效率...
當我們要取得所有的attribute的value時
往往要呼叫好幾次getter才能取得所有值
但是可別忘了 每個getter在此都是一個remote call
效能會其慘無比
因此..我們會建議一種比較coarse-grained的做法..
coarse-grained中文是粗顆粒
此時我們會把一個entity就包成一個
Transfer Object若我們要取得entity bean的資料
只需透過一個getter..就可以透過Transfer Object把所有資料傳回來
者比起fine-grained的做法我們可能需要好幾次的remote call才能取得所有資料
效率將會明顯改善
在此pattern中有四種比較常見的變形(或稱策略)
分別是
Updatable Transfer Objects Strategy
Multiple Transfer Objects Strategy
Inherits Transfer Object Strategy
Transfer Object Factory Strategy
有興趣的人可以點進前一篇的網址繼續延伸閱讀
或是直接在這邊討論