2011-01-07 84 views
4

最近嘗試關於請求參數的數量作文課的時候我已經被撕裂。在方法的參數太多調用

一個非常簡單的構造例如:

Burger(bun, meat, cheese, lettuce) 
    this.bun = bun 
    this.meat = meat 
    ... 

Vs的

Burger(grocery) 
    this.bun = grocery.bun 
    this.meat = grocery.meat 
    ... 

這兩種方法都是有效的方法。第一種方式顯示到底發生了什麼到漢堡,參數分解成更一般的類,所以它使更少的連接,我覺得一般比較容易測試,因爲對象圖比較簡單。

但第二種方式是簡單了很多,更清潔,也許可以漢堡需要更多的成分,然後在第一種方式,這個論點可以極大氣球。

我想知道哪種方式會在這樣的情況下被推薦?去找更乾淨但更耦合的代碼,或者更爲詳細的方式。

回答

5

傳遞4+參數的任何方法或構造是不是一個好主意還是不錯的設計。

我記得約書亞·布洛克(Effective Java)建議Builder Pattern這種情況(第2項)

Item 2:當面臨許多構造函數的參數

考慮建設者