본문 바로가기

IT 공부/디자인패턴2

[디자인패턴] State Pattern 상태패턴 상태 패턴이란? 객체가 특정 상태에 따라 행위를 달리하는 상황 (-> 상태 변수에 따라 변수와 행위의 결합을 만들어 내는 것) 에서 자신이 직접 상태를 체크하여 상태에 따라 행위를 호출하지 않고, 상태를 객체화하여 상태가 행동을 할 수 있도록 위임하는 패턴 왜 사용하는가? - 상태 변수에 의해 행위가 변경됨 - 이 상태 변수가 행위를 변경하기 위해 조건문을 사용함 - 상태 변수를 체크하기 위한 조건문이 너무 많음 Context : 여러가지 내부 상태를 가질 수 있는 클래스/ request()가 호출되면 상태 객체에게 그 작업을 위임 State : 모든 구상 상태클래스에 대한 공통 인터페이스 정의 ConcreateState : context 로 부터 전달된 요청을 처리하는 구상 상태클래스. (자기 방식으로.. 2019. 5. 2.
[디자인패턴] Interpreter Pattern 인터프리터패턴 문장을 해석할 때 사용하는 패턴. 해석기, 즉 간이언어를 만들기 위한 패턴. 언어 문법이나 표현을 평가할 수 있는 방법을 제공. (행동패턴) 특정 컨텍스트를 해석하도록 지시하는 표현 인터페이스를 구현하는 것도 포함. 이 패턴은 SQL구문분석, 기호처리엔진 등에 사용됨. -> 쉽게 말해, 사용자가 원하는 다양한 명령을 쉽게 표현할 수 있게 구문 약속을 해야함. 그리고, 해석자에서는 이와 같이 약속된 구문을 입력 인자로 전달되었을 때 이를 해석을 할 수 있어야 합니다. ex) "2 add 3" 과 같은 표현은 피연산자:2, 연산자: +, 피연산자:3 으로 해석될 수 있다는 것. 사용자가 다양한 명령을 쉬운 표현 방법으로 전달할 수 있다. 하지만, 너무 많은 명령에 대한 조합에 대해 해석자 패턴을 적용한다면 .. 2019. 4. 30.