프로그램에 새로운 구성 옵션을 추가하면, 옵션을 수행해야하는 위치에서 여러 가지 파급 효과가 발생할 수 있습니다. 내가 알고있는 이것을 처리하는 세 가지 기본 방법이 있습니다.
기본적으로 명시 적으로 필요한 모든 구성 설정을 프로그램의 일부로 전달하십시오. 이것은 가장 명백한 방법이며 가장 많이 분리하는 방법입니다. 단점은 이것이 장황하고 부서지기 쉽다는 것입니다.
가장 자주 사용되는 구성 설정을 전역 / 정적으로 설정하십시오. 이것은 가장 간단한 방법이지만 원거리에서 조치를 취하고 테스트 가능성을 방해하며 구성이 실제로 전역 적이라고 가정합니다 (언제든지 한 번에 하나의 구성 만 원함).
전체 프로그램 또는 프로그램 내 각 주요 관심사에 대한 모든 구성 옵션이 포함 된 구성 클래스 / 구조를 만든 다음 명시 적으로 전달하십시오. 이것은 (1)보다 덜 분명하지만 (2)보다 더 분명합니다. 하나의 함수 호출에 대해서만 설정을 변경하려는 경우 구성 오브젝트를 복제하고이 하나의 값을 변경할 수 있습니다. 이것은 테스트와 실제 모두에 유용합니다. 그러나 여전히 많은 양의 정보가 필요하지 않은 함수에 전달 될 수 있으며 구성 클래스 / 구조체의 값을 변경하면 여전히 먼 거리에서 동작이 발생할 수 있습니다.
(3) 패턴 또는 반 패턴을 고려 하시겠습니까? 안티 패턴이라면 대신 무엇을합니까?