Interpreter Pattern 인터프리터 패턴
행동패턴으로, 특정한 표현이나 언어로 바꿔주는 표현 인터페이스를 사용하는 패턴입니다. 보통 SQL을 파싱하거나, 기호를 처리하기 위해 사용합니다.
트리구조로 인해 컴포지트 패턴과 유사한 형태를 띱니다. 트리는 평가할 표현식을 포함하고, 보통 파서(Parser)에 의해 생성됩니다. 파서(Parser) 자체는 인터프리터 패턴의 일부가 아닙니다.
Interpreter Pattern 인터프리터 패턴
Expression
public interface Expression {
boolean interprete(String context);
}
MinusExpression
public class MinusExpression implements Expression {
String data = "-";
@Override
public boolean interprete(String context) {
if(context.contains(data)){
return true;
}
return false;
}
}
PlusExpression
public class PlusExpression implements Expression {
String plus = "+";
@Override
public boolean interprete(String context) {
if(context.contains(plus)){
return true;
}
return false;
}
}
Main
public class Main {
public static void main(String[] args) {
Expression plus = new PlusExpression();
Expression minus = new MinusExpression();
System.out.println("plus.interprete(\"1+3\") = " + plus.interprete("1+3"));
System.out.println("minus.interprete(\"1+3\") = " + minus.interprete("1+3"));
}
}
참조
'JAVA > DesignPattern' 카테고리의 다른 글
Design Pattern 디자인 패턴 Memento Pattern 메멘토 패턴 (0) | 2021.12.27 |
---|---|
Design Pattern 디자인 패턴 Mediator Pattern 중재자 패턴 (0) | 2021.12.25 |
Design Pattern 디자인 패턴 Iterator Pattern 이터레이터 패턴 (0) | 2021.12.23 |
Design Pattern 디자인 패턴 Command Pattern 커맨드 패턴 (0) | 2021.12.22 |
Design Pattern 디자인 패턴 Chain of Responsibility Pattern 책임체인패턴 (0) | 2021.12.21 |