인프런 커뮤니티 질문&답변

seonjun Moon님의 프로필 이미지
seonjun Moon

작성한 질문수

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

인터프리터 패턴 2부 - 패턴 적용하기

TerminalExpression 과 NonterminalExpression이 이해가 잘 안됍니다.

작성

·

159

0

강사님 강의를 보며 구조를 GoF를 참조하면서 공부를 진행중입니다. 

그런데...

TerminalExpression 과 NonterminalExpression이 이해가 잘 안됍니다.

 

TerminalExpression 과 NonterminalExpression 둘 다 구조상으로는 Expression을 구현하는데 다만 NonterminalExpression은  Express를 구현하면서 집합관계라고 표시되어 있습니다.

 

디자인 패턴을 의도에 따라서 생각하는게 중요하지만 공개해주신 코드에서 이걸 굳이 분류를 하자면 어떻게 분류를 해야 하는지 그게 궁급합니다.

답변 1

1

백기선님의 프로필 이미지
백기선
지식공유자

NonterminalExpression이 집합 관계인 이유는 "비종료" 표현식이기 때문입니다. 비종료라는 것은 다른 표현식을 실행할 수 있으니 다른 표현식을 집합 관계로 참조할 수 있지만, 종료 표현식은 해당 표현식이 실행되고 끝이기 때문에 다른 연관 관계가 있는 것이죠. 좋은 질문 감사합니다.

seonjun Moon님의 프로필 이미지
seonjun Moon

작성한 질문수

질문하기