2015-01-18 1 views
0

책임의 고리는 필터 패턴과 매우 유사합니다. 나는 알고 싶다 :책임 체인과 필터 패턴의 차이점은 무엇입니까

그들이 다른 경우에, 1 개가 적용 가능하고 다른 하나는 그렇지 않은 문제 도메인은 무엇인가?

+0

이렇게하면 [programmers.stackexchange.com] (http://programmers.stackexchange.com)에 더 잘 맞는 것을 알 수 있습니다. – watery

답변

3

필자는 주된 차이점은 필터 패턴에서 모든 필터가 주어진 순서대로 실행된다는 것입니다. 책임의 체인은 더 ​​신축성 - 모든 체인 요소에 대한 두 가지 결정 :

  1. 는 다음 체인 요소

주에 요청을 전달해야하는 경우가 요청

  • 를 처리해야하는 경우를 체인의 책임 개념은 스티어링 로직을 체인 요소로 이동시키는 것입니다. 호출 코드는 (어떤 복잡한 IF 문에 의해) 어떤 논리가 호출되어야 하는지를 결정할 필요는 없지만 "논리"(체인의 요소로 추출됨) 자체는 요청을 처리해야 하는지를 안다.

    제 생각에는 필터 패턴은 책임 사슬의 단순화 된 변형입니다.

  • 관련 문제