해석자( Interpreter )

Posted 2012. 10. 23. 18:28
주요 키워드는 "언어의 다양한 해석" 이다.
이 패턴의 개념은 이미 우리가 쓰는 컴파일러 언어라던지 스크립트 언어에 녹아 있다.
고로 어려운 동작을 쉽게 작성하면 그것을 프로그램의 나름의 규칙으로 해석하여 프로그래밍한다는 것

사용자의 편의를 위해 비슷한 명령어와 옵션을 100개 만든다고 치면.
이것들은 일일이 하드코딩 해야 할까..?


명령어 클래스와 인수 클래스를 만들어 명령어 클래스는 명령어에 대해서만 해석하고

인수 클래스는 어떠한 종류의 인수인지만 해석하여 저장하면 그 두 클래스 모두 표현 클래스를

부모에 두고 복합체 패턴 형식으로 결합하여 명령을 수행만 하면 끝이다.

만약 수식이 필요해졌다고 하면 수식 클래스에 표현 클래스를 상속하여 작성하면 된다.