'인터프리터패턴' 태그의 글 목록
본문 바로가기
728x90
반응형

인터프리터패턴3

2022-05-12-인터프리터패턴-3부-장점과단점 01.인터피리터패턴 장단점 요청을 캡슐화 하여 호출자(invoker)와 수신자(receiver)를 분리하는 패턴 01.1 장점 자주 등장하는 문제 패턴을 언어와 문법으로 정의할 수 있음 기존 코드를 변경하지 않고 새로운 Expression을 추가할 수 있음 곱을 만들고 싶은 경우 사실 이렇게 만드는 것 보다 인터페이스에 추가하는게 더 쉽긴함 하지만 이렇게 하면 parser는 영향을 받게되어 *를 추가해야하긴함 추가할때 다른것을 건들지 않고, 확장이 가능하고 단일책임원칙도 지킴 static PostfixExpression multiply(PostfixExpression left, PostfixExpression right){ return context -> left.interpret(context) * r.. 2022. 5. 13.
2022-05-12-인터프리터패턴-2부-패턴적용하기 01.소스코드 01.1 App import java.util.Map; public class App { public static void main(String[] args) { PostfixExpression expression = PostfixParser.parse("xyz+-a+"); int result = expression.interpret(Map.of('x', 1, 'y', 2, 'z', 3, 'a', 4)); System.out.println(result); } } 01.2 PostfixExpression import java.util.Map; public interface PostfixExpression { int interpret(Map context); } 01.3 VariableExpr.. 2022. 5. 13.
2022-05-12-인터프리터패턴-1부-패턴소개 01.인터프리터패턴 정규 표현식 같은 것도 일종의 인터프리터 문서에서 어떤 문자를 찾는것 같은 , 키워드, 특정단어 ? 이런것 import java.util.Stack; public class PostfixNotation { private final String expression; public PostfixNotation(String expression) { this.expression = expression; } public static void main(String[] args) { PostfixNotation postfixNotation = new PostfixNotation("123+-"); postfixNotation.calculate(); } private void calculate() { .. 2022. 5. 12.
728x90
반응형