我正在做一個意大利麪怪物(不幸的不是飛行品種),我有一個關於正確設計的問題。無效,值或其他?
我在服用返回對象一個巨大的靜態Java方法,它分裂成可重複使用的(和可讀的)部件的處理。現在,該方法讀取一個XML文檔,然後將摘要和詳細信息從文檔附加到「dataModule」,然後dataModule從該方法返回。
在打破我的代碼成一個getSummaryData和getDetailedData方法,我發現我做了以下內容:
dataModule = getSummaryData(xmlDocument);
setDetailedData(xmlDocument, dataModule);
(參照方法中傳遞,追加詳實的數據數據模塊)
這大多具有與詳細數據需要以基於彙總數據進行正確分析業務邏輯,並改變了數據模塊的結構涉及大量改變應用程序的前端事實的事實有關。
是這種方法的任何優於:
dataModule = getSummaryData(xmlDocument);
dataModule = setDetailedData(xmlDocument, dataModule);
(按引用傳遞,方法內詳細的數據添加到數據模塊,數據模塊返回)
我不能分享更多的代碼不透露「祕密」,但是有一個強有力的理由去對付另一種方法嗎?或者,我剛剛陷入了哪種口紅的滋味,我在這裏?
感謝,
IVR復仇者
第二種形式讓我想寫:dataModule = setDetailedData(xmlDocument,getSummaryData(xmlDocument));雖然看起來有點奇怪,但在那裏有兩次xmlDocument – barrowc 2009-12-07 23:53:25