2010-02-08 3 views
5

저는 OpenGL을 사용하여 간단한 시뮬레이션을 개발 중이며이 시뮬레이션에는 시뮬레이션 실행 중에 사용자가 변경 한 일부 전역 상수가 있습니다. 싱글 톤 디자인 패턴이 임시 실행 시간, "구성 저장소"로 작동하는 가장 좋은 방법인지 알고 싶습니다.싱글 톤을 사용하여 전역 응용 프로그램 매개 변수 저장

답변

4

이 설정을 진정으로 "글로벌"로 유지해야하는 경우 싱글 톤이 가장 좋은 옵션 일 수 있습니다.

그러나 시뮬레이션을 위해 알고리즘을 구성 인스턴스에 대한 참조를 전달하도록 디자인 할 수 있는지 고려해 보았습니다. 이렇게하면 시뮬레이션 당 구성을 저장하는 것이 훨씬 쉬워지고, 결국 요구 사항이 변경되면 별도의 구성으로 동시에 여러 시뮬레이션을 처리 할 수 ​​있습니다.

종종 전역 상태를 피하려고하면 장기적으로 더 좋은 방법입니다.

1

과거에는 싱글 톤 클래스가 아닌 네임 스페이스를 사용했습니다. 이것도 (아마 더 나은) 작동합니다.

물론, 다시 컴파일하지 않고 구성을 변경하려면 모든 것을 별도의 속성 파일 (또는 XML 또는 YAML 또는 CSV 또는 원하는대로)로 옮긴 다음 응용 프로그램 시작시로드해야 할 수도 있습니다 쪽으로. 그런 다음 해시 맵 (또는 이와 비슷한 값)에 모든 값을 저장하는 "config"클래스가 필요합니다.

관련 문제