我正在查看一些我寫過的代碼,並且在思考「我應該將該對象傳遞給該方法還是其某些屬性?」。哲學對象/屬性參數查詢
讓我解釋一下:
這個對象有大約15屬性 - 用戶輸入。然後我有大約10種方法使用多達5個這些輸入。現在,如果每個方法都有1個參數 - 「用戶輸入對象」,界面看起來更清晰。但是每種方法都不需要所有這些屬性。我可以傳遞每個方法所需的屬性。
事實上,我問這個問題表明我接受我可能會做錯事。
討論...... :)
編輯:要添加calrity:
從網頁用戶進入他們的房子和花園的詳細信息。這種性質的門的數量,房間數量和其他屬性(共15個)。
這些細節作爲簡單整數屬性存儲在「HouseDetails」對象中。
「HouseDetails」的一個實例被傳入「HouseRequirementsCalculator」。這個類有10個私人方法,如「計算地毯面積」,「caclulateExtensionPotential」等。
對於我的查詢的例子,我們使用「CalculateAreaOfCarpet」方法。
我應該通過 「HouseDetails」 對象
,或者我應該通過 「HouseDetails.MainRoomArea,HouseDetails.KitchenArea,HouseDetails.BathroomArea」 等基於我的回答上述
可能的重複:http://stackoverflow.com/questions/3744806/best-way-to-pass-values-to-a-function-when-there-are-many-to-send/3744851#3744851 – rkg 2010-11-12 14:38:49
我(可能我們)理解得很好。我認爲你應該通過HouseDetails對象而不是單個參數。我在下面修改了我的答案。 – 2010-11-12 17:12:28