장점
- 생성에 대한 일관성을 유지한다.
단점
- 가독성이 좋지않다.
- 런타임 오류가 발생할 수 있다. (에러잡기가 어렵다.)
생성자에 딸린 몇개씩 추가되는 인자들을 확인하자.
3~4개정도는 쉽게 만들 수 있지만
그 이상 시 순서와 채워넣는 인자를 잘못넣어 실수가 발생할 수 있다.
- class NutiritionFacts {
- private final int servingSize;
- private final int servings;
- // optional
- private final int calories;
- private final int fat;
- private final int sodium;
- private final int carbohydrate;
- public NutiritionFacts(int servingSize, int servings, int calories,
- int fat, int sodium, int carbohydrate) {
- this.servingSize = servingSize;
- this.servings = servings;
- this.calories = calories;
- this.fat = fat;
- this.sodium = sodium;
- this.carbohydrate = carbohydrate;
- }
- public NutiritionFacts(int servingSize, int servings) {
- this(servingSize, servings, 0, 0, 0, 0);
- }
- public NutiritionFacts(int servingSize, int servings, int calories) {
- this(servingSize, servings, calories, 0, 0, 0);
- }
- public NutiritionFacts(int servingSize, int servings, int calories, int fat) {
- this(servingSize, servings, calories, fat, 0, 0);
- }
- public NutiritionFacts(int servingSize, int servings, int calories,
- int fat, int sodium) {
- this(servingSize, servings, calories, fat, sodium, 0);
- }
- @Override
- public String toString() {
- return "NutiritionFacts [servingSize=" + servingSize + ", servings="
- + servings + ", calories=" + calories + ", fat=" + fat
- + ", sodium=" + sodium + ", carbohydrate=" + carbohydrate + "]";
- }
- }
'java > design_pattern' 카테고리의 다른 글
Design Pattern 기본 원칙 (0) | 2014.06.18 |
---|---|
Builder Pattern (0) | 2014.06.17 |
Java Beans Pattern (0) | 2014.06.17 |
프론트 컨트롤러 패턴 (0) | 2013.05.07 |
디자인패턴 개인 메모. (0) | 2012.03.29 |