목록스터디/디자인 패턴 (8)
영권's
Command 패턴 명령 패턴은 요청을 요청에 대한 모든 정보를 포함하는 "독립 실행형 개체"로 변환하는 동작 설계 패턴입니다. 예를 들어 클래스가 일을 할때는 자신의 클래스나 다른 클래스의 메서드를 호출합니다. 메서드를 호출한 결과는 객체의 상태에 반영이 되지만, 일의 이력은 남지 않습니다. 이때 '이 일을 실행하시오'라는 '명령'을 표현하는 클래스가 있으면 편리합니다. 실행하고 싶은 일을 '메서드를 호출'하는 동적인 처리로 표현하는 것이 아니라, 명령을 나타내는 클래스의 인스턴스로 하나의 '물건'처럼 표현할 수 있기 때문입니다. 이력을 관리하고 싶을때에는 그 인스턴스의 집합을 관리하면 됩니다. 명령의 집합을 저장해 두면 같은 명령을 재실행할 수도 있고, 또는 복수의 명령을 모아서 새로운 명령으로 재이..
Chain of Responsibility - 책임 사슬 Chain of Responsibility란 책임 떠넘기기와 같은 의미입니다. 어떤 요청이 발생했을 때 그 요청을 처리할 오브젝트를 직접 결정할 수 없는 경우, 복수의 오브젝트(객체)를 사슬(chain)처럼 연결해 두면, 그 오브젝트(객체)의 사슬을 차례로 돌아다니면서 목적한 오브젝트(객체)를 결정하는 방법을 생각할 수 있습니다. 이와 같은 패턴을 Chain of Responsbility라고 합니다. 책임을 떠넘기는 구조를 생각하면 이해하기 쉽습니다. 이떤 사람에게 요구를 합니다. 그 사람이 그것을 처리할 수 있으면 처리하고, 처리할 수 없으면 그 요구를 '다음 사람'에게 넘깁니다. 다음 사람이 그 요구를 처리할 수 있으면 처리 하고, 처리할 수 ..