inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

코딩으로 학습하는 GoF의 디자인 패턴

빌더 패턴 2부 - 패턴 적용하기

Concrete 빌더에 관한 질문

257

작성자 없음

작성한 질문수 0

0

안녕하세요 강의 잘 듣고 있습니다.

 

다름이 아니라, 본 강의에선 DefaultTourBuilder 구현체로 빌더 패턴 사용 예시를 보여주셨습니다. 

1. 첫 번째 질문으로, 칸쿤 여행의 경우 TourPlan의 모든 멤버 변수에 어떤 값을 할당해야 한다고 가정했을 때, 강의에선 getPlan에서 모든 변수가 제대로 초기화됐는지 체크하는 과정이 생략된 것 같은데 맞을까요?

 

2. DefaultTourBuilder가 칸쿤 여행과 같이 모든 멤버 변수를 초기화했을 때만 인스턴스를 만들 수 있도록 getPlan에 제약을 걸어놨다면, 본 강의에서 예시로 들었던 당일치기 롱비치 여행은 DefaultTourBuilder로 만들 수 없다고 생각합니다.
여러 방법이 존재하겠지만 강의에서 말씀하신 내용을 되짚어보면 당일치기 여행 인스턴스를 제공하는 ShortTourBuilder를 만드는 게 합리적이란 생각이 듭니다. 강사님의 의견은 어떠신가요?

 

감사합니다.

java 디자인-패턴

답변 1

1

백기선

1. 네 그렇게 할 수 있습니다. getPlan으로 최종적인 객체를 만들 때 모든 변수가 설정이 되어있는지 검사할 수 있습니다.

2. 네 말씀하신대로 성격에 따라 여러 Builder를 만들어 쓰시면 됩니다. 그런데 Plan이 모든 필드를 가지고 있어야 한다는 제약을 어디에 둘지에 따라 조금 달라질 것 같네요. 그 책임을 TourPlan에 둘거라면, Plan 자체를 인스턴스로 만들고 하나의 Builder에서는 여러 타입의 Plan을 만들어 줄 수도 있을테구요. 반대로 Builder에서 책임 진다면 말씀하신대로 Plan은 그대로 두고 Builder만 늘릴 수도 있겠네요.

많이 사용되는 패턴의 순서를 정한다면 어떤 순서일까요?

0

134

1

@Builder에 대해 사소한 질문

0

68

1

default 기능이 있는 interface와 추상클래스의 차이

0

63

1

실무 코드에 디자인 패턴 적용 시의 '기준'에 대해 조언을 얻고 싶습니다.

0

56

1

데코레이터 패턴, before 가 O(2^n) 인 이유

0

57

0

혹시 다음강의는 언제쯤..

0

356

1

volatile 사용 이유에 대해서 여쭤보고 싶습니다!

0

649

3

Spring Security 의 ProviderManager (AuthenticationManager) 도 옵저버 패턴을 사용하고 있다고 볼 수 있을까요?

0

402

2

싱글톤 패턴을 깨트리는 방법

0

562

1

코드에 약간 오타가 있는거 같습니다.

0

444

1

싱글톤 (Singleton) 패턴 구현 방법 3 - 2번 퀴즈에 대해 질문이 있습니다.

0

577

2

안녕하세요, 강의 순서 질문드립니다.

0

691

1

스프링 시큐리티 WebSecurityConfigurerAdapter deprecated 대체 코드

0

2436

1

팩토리메소드 = 추상팩토리?

2

926

1

중재자 패턴에 관하여~

0

515

1

undo 메소드 작업중에서

1

375

1

익명클래스로 객체 생성시 의문점

0

598

1

mediator패턴에서 객체끼리 순환참조는 어떻게 해결해야할까요

0

488

1

객체간에 this를 넘기는 부분에 관련해 질문이 있습니다..

1

374

1

전략 패턴과 상태 패턴에 관련해서 질문이 있습니다.

0

291

1

플라이웨이트 패턴 3부에서 HashMap 동시성 질문입니다.

0

264

1

enum 이 이른 초기화 방법이 아니라는 것은,

0

510

1

해당 코드가 C# 에선 접근 관련 컴파일 에러가 뜹니다.

0

439

1

설계관련 궁금증이 있습니다.

0

331

0