DesignPatterns에서 BehavioralPatterns의 하나.

어떤 요구가 발생했을 때 그 요구를 처리할 객체를 바로 결정할 수 없는 경우, 다수의 객체를 사슬처럼 연결해두고 사슬을 차례로 돌아다니면서 목적에 맞는 객체를 결정하는 패턴.

요구를 하는 사람과 요구를 처리하는 사람을 느슨하게 연결한다. 만일 요구별로 처리자를 지정하는것을 다른곳에서 강제적으로 한다면, 그건 OOP의 목적에 맞지 않다.

Structure

Example

트러블이 발생하고 누군가 이 트러블을 해결하는 예제. ChainOfResponsibilityTrouble.java

  • 추상클래스의 support메쏘드를 이용해서 해결한다. next라는 메쏘드로 다음객체로 넘긴다.
  • 각 구체클래스들은 resolve메쏘드를 직접 구현한다.
  • 체인연결이 가능한것은 next메쏘드가 해당 객체를 리턴하는것

관련정보

ChainOfResponsibilityPattern


CategoryPattern

ChainOfResponsibilityPattern (last edited 2012-10-08 16:23:32 by 61)

web biohackers.net