작성
·
159
0
강사님 강의를 보며 구조를 GoF를 참조하면서 공부를 진행중입니다.
그런데...
TerminalExpression 과 NonterminalExpression이 이해가 잘 안됍니다.
TerminalExpression 과 NonterminalExpression 둘 다 구조상으로는 Expression을 구현하는데 다만 NonterminalExpression은 Express를 구현하면서 집합관계라고 표시되어 있습니다.
디자인 패턴을 의도에 따라서 생각하는게 중요하지만 공개해주신 코드에서 이걸 굳이 분류를 하자면 어떻게 분류를 해야 하는지 그게 궁급합니다.
답변 1
1
NonterminalExpression이 집합 관계인 이유는 "비종료" 표현식이기 때문입니다. 비종료라는 것은 다른 표현식을 실행할 수 있으니 다른 표현식을 집합 관계로 참조할 수 있지만, 종료 표현식은 해당 표현식이 실행되고 끝이기 때문에 다른 연관 관계가 있는 것이죠. 좋은 질문 감사합니다.