여러 사이트에 배포되는 시스템을 작성 중이며 각 사이트마다 고유 한 구성과 설정이 필요합니다. "구성"은 특정 사이트 (예 : 데이터베이스 URL, S3 버킷 이름)에 필요한 명명 된 값입니다. 모든 구성이 필요하며 일반적으로 기본값이 없으며 일반적으로 문자열 값입니다. 설정은 명명 된 값이지만 시스템의 동작을 조정합니다. 종종 숫자 또는 부울 값이며 일반적으로 기본값이 있습니다.구성 및 설정을 어떻게 구현합니까?
지금까지 필자는 속성 파일이나 그와 비슷한 것을 사용했지만 끔찍한 해결책입니다. 여러 번 개발자는 구성에 대한 요구 사항을 추가했지만 라이브 구성에 대한 파일에 값을 추가하지 않았으므로 새 릴리스는 모든 테스트를 통과 한 다음 출시 될 때 실패했습니다.
모든 파일을 컴파일하는 것이 더 낫습니다. 누락 된 구성 또는 잘못된 유형 중 하나가 있으면 컴파일러를 지나치지 않고 빌드에 사이트 특정 클래스를 주입합니다. 각 사이트. 스칼라 파일은 뼈처럼 복잡한 값, 특히 목록뿐만 아니라 맵과 튜플을 쉽게 모델링 할 수 있습니다.
단점은 개발자가 아닌 사람들이 파일을 유지 관리하기 때문에 속성 파일의 장점 인 자체적으로 설명이 가능해야한다는 것입니다. (누군가가 XML 설정을 나에게 설명한다 : 컴파일 가능한 파일의 모든 복잡성이지만 속성 파일의 런타임 위험성)
내가 찾고있는 것은 그룹에 필요한 이름과 허용되는 값을 정의하기위한 쉬운 패턴이다 . 어떤 제안?
나는 왜 당신의 q가 보이지 않습니다. 유익은 스칼라 특유의 것이다. 중요한 점을 놓치고 있습니까? – Nicolas
Scala *에 구성 파일 *을 쓰고 싶습니다. – Malvolio
나는 당신이 당신의 퀘스트 노의 일부를 잊었다 고 생각합니다. – Nicolas