itkhj.log
로그인
itkhj.log
로그인
인터프리터 패턴
ITKHJ
·
2023년 3월 2일
팔로우
0
GOF
인터프리터 패턴
0
GoF의 디자인 패턴
목록 보기
8/16
인터프리터 패턴
자주 등장하는 문제를 간단한 언어로 정의하고 재사용하는 패턴
반복되는 문제 패턴을 언어 또는 문법으로 정의하고 확장할 수 있다.
요청을 캡슐화 하여 호출자(invoker)와 수신자(receiver)를 분리하는 패턴.
사용 예시
App
일종의 parser가 있다고 가정을 하고 parser로 파싱을 하면 PostfixExpression이 나옴
PostfixExpression
Character를 키로, 값은 Integer인 context가 있다고 가정을 함
VariableExpression
터미널 Expression 정의
PlusExpression
left를 interpret하고 그 결과를 right를 interpret한 결과에 더해서 리턴하면 됨
MinusExpression
left를 interpret하고 그 결과를 right를 interpret한 결과에 빼서 리턴하면 됨
PostfixParser
장점
자주 등장하는 문제 패턴을 언어와 문법으로 정의할 수 있다.
기존 코드를 변경하지 않고 새로운 Expression을 추가할 수 있다.(OCP)
단점
복잡한 문법을 표현하려면 Expression과 Parser가 복잡해진다.
ITKHJ
모든 업무 지식 작성하자!
팔로우
이전 포스트
커맨드 패턴
0개의 댓글
댓글 작성