체인을 따라 전달되는 객체로 HashMap을 사용하는 CoR 패턴의 구현 예를 보았습니다. 새 콘텐츠가 처리기에 의해 추가 될 가능성이 있습니다. 아래 코드의 개요 : 핸들러 코드를 반복하지 않고 핸들러에 따라 사용될 수있는 새로운 정보와 context
을 향상시킬 수로HashMap은 패턴의 남용에 책임이 있습니까?
class HandlerImpl implements Handler {
Handler next;
void handle(HashMap context) {
// do handler logic, perhaps adding new stuff to "context"
if (next != null)
next.handle();
}
}
그것은 사용하기 유혹. 반면에 핸들러는 서로 의존적이됩니다. — 그들은 여전히 느슨하게 연결되어 있지만 여전히 순서가 점점 중요 해지고 있습니다.
이 코드의 냄새가 있습니까? 컨텍스트 개체에 새로운 정보를 보충하지 않고 CoR 패턴으로 처리 할 수 없다는 것을 알게되면 그러한 경우에 사용할 올바른 패턴은 무엇입니까?