1.정의
해석자 패턴은 사용자가 표현하기 쉬운 표현을 사용하게 하고 이를 해석하는 개체를 통해 약속된 알고리즘을 수행하는 패턴.
하지만 해석자 패턴은 사용자의 편의성을 도모해야하고 너무 많은 명령어 조합은 많은 비용을 초래할 수 있다.
2.다이어그램
-Picture 클래스 사진의 정보(변수)를 가지고 매개변수를 받아 변수를 변화시키고 정보를 보는 메서드를 가지고 있다.
- Expression 추상클래스는 입력 값을 받아 해석하고 사진을 수정하는 기능을 약속한다.
-ToneExpression,BrightnessExpression,SaturationExpression는 입력값을 받아 해석하는 기능과 사진을 정보를 수정시키는 매서드를 재정의 한다.
-macro 클래스는 Expression의 파생클래스을 연결리스트로 만들어 가지고 있는 객체로 리스틀 추가하고
입력값을 받았을 때 적용하는 기능을 포함한다.
3.구현
1)Picture 클래스
2)Expression 추상클래스와 파생 클래스
-나머지 두 클래스들은 입력 값을 대비하고 사진에 적용하는 메서드만 다르고 형태가 완전히 같음.
3)Macro 클래스
4)테스트
'C# > GoF 디자인패턴' 카테고리의 다른 글
[GoF]19. 중재자 패턴(Mediator Pattern) (0) | 2023.12.05 |
---|---|
[GoF]18. 반복자 패턴(Iterator Pattern) (0) | 2023.12.02 |
[GoF]16.명령 패턴(Command Pattern) (0) | 2023.11.23 |
[GoF]15.책임 연쇄 패턴(Chain of Responsibility Pattern) (0) | 2023.11.15 |
[GoF]14.보호용 프록시 패턴(Proxy Pattern) (0) | 2023.11.07 |