17. 해석자 패턴(Interpreter Pattern) 설계

17. 3 디자인

해석자 패턴에 대한 설명을 위한 예제 프로그램은 매크로를 통해 사진 보정을 할 수 있게 하는 프로그램입니다. Macro는 각 표현을 해석할 수 있는 개체들을 리스트 형태로 갖고 있습니다. 그리고, Expression 개체들은 입력된 구문을 해석을 하게 되고 뒤에 연결된 다른 Expression 개체가 있으면 해석된 부분을 제외한 구문을 해석을 하게 할 것입니다. 그리고, 사진 개체를 변환을 요청하면 리스트의 각 Expression 개체들은 이미 해석된 내용에 맞게 사진을 보정을 하도록 하겠습니다.

보통 해석자 패턴은 복합체 패턴이나 플라이급 패턴 등과 혼합하여 자주 사용이 되는데 여기에서는 책임 연쇄 패턴과 혼합하여 보았습니다. 여러분들은 이 책에서 제시하는 해석자 패턴을 살펴보신 후에 좀 더 효과적으로 설계 및 구현을 변경해 보십시오. 물론, 여러분들이 필요에 의해 시나리오 변경이 필요할 것이라 생각합니다.

[그림] 해석자 패턴 클래스 다이어그램
[그림] 해석자 패턴 클래스 다이어그램