내 파이프 라인에 책임 설계 패턴 체인을 사용하고 있습니다. 내가 발견 한 한 가지 문제점은 체인을 추가 할 때 구성 객체가 커지고 커진다는 것입니다. 본질적으로, 내 config 객체는 대규모 싱글 톤이되고있다. 이 상황을 처리 할 효과적인 방법이 있습니까?커다란 구성의 책임 체인
세부 사항 :
는나의 현재 설정된 최대
handler.next = handler2
handler2.next = handler3
...
내가 그것에 설정 객체를 전달하여 체인을 사용합니다.
handler.HandleRequest(config)
config 개체에는 처리기에 필요한 모든 구성 정보가 있으므로 더 많은 체인을 추가 할 때 점점 커집니다.
가능한 해결 방법 :
이 게시물에 최선의 대답은 의존성 주입을 사용하는 것입니다.
Which design patterns can be applied to the configuration settings problem?
그러나, 나는 실질적으로 디자인을 변경하지 않고 책임 디자인의 체인에 의존성 주입을 사용하는 방법을 모르겠습니다.
누군가가이 문제에 대해 도움을 줄 수 있습니까? 감사!
체인이 구성 객체를 처리하는지 (무엇을하기 위해?) 또는 구성 객체에서 구성을 추출합니까? –
체인은 config 객체에서 구성을 추출합니다. 예를 들어 데이터 파일이 각 체인 등에 대해 어디에 있는지 등이 있습니다. config 객체는 제공된 구성이 올바른지 여부를 확인합니다. – hwasungmars
또한 Decorator 패턴을 살펴보십시오. 연쇄 책임 (Chain of Responsibility)보다 적용이 더 쉽습니다 (특히 교차 횡단 문제를 추가 할 때 유용합니다). – Steven