2011-01-07 5 views
4

요즘에는 요청한 매개 변수 개수와 관련된 클래스를 작성할 때 찢어졌습니다.메서드 호출에 인수가 너무 많습니다.

아주 간단한 생성자 예 :

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

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

는 두 가지 방법이 유효한 방법이다. 첫 번째 방법은 햄버거에 무엇이 들어가는지를 정확하게 보여 주며 더 일반적인 클래스로 인수를 분해하므로 결합이 적어 지므로 객체 그래프가 더 간단하기 때문에 일반적으로 테스트하기가 쉽습니다.

그러나 두 번째 방법은 훨씬 간단하고 깨끗하며 햄버거가 더 많은 재료를 필요로 할 수 있습니다. 그런 다음 첫 번째 방법의 논쟁은 엄청나게 큰 영향을 줄 수 있습니다.

이런 상황에서 어떤 방법으로 권장 할 만한지 알고 싶습니다. 보다 깔끔하고 결합 된 코드 또는 더 자세한 방법을 찾으십시오.

답변

5

어떤 방법이나 생성자에 4+ 매개 변수를 전달하는 것은 좋은 생각이나 좋은 디자인이 아닙니다. 많은 생성자 매개 변수

에 직면했을 때 빌더를 고려

나는 조슈아 블로흐이 상황에 Builder Pattern 추천 (Effective Java) (항목 2)

Item 2가 기억