내 응용 프로그램에 경로 토큰을 정규화 된 경로로 변환하는 클래스가 있습니다. 예를 들어 "%MYAPPDATA%"
과 같은 문자열을 사용하고 C:\Users\user.DOMAIN\AppData\Raoming\MyApp
을 반환 할 수 있습니다.이 응용 프로그램 데이터를 유지해야합니까?
또는 클래스에는 문자열 대신 enum을 사용할 수있는 함수에 대한 오버로드가 있습니다. 예 : 열거 형 AppPaths.MyAppData
을 가져오고 C:\Users\user.DOMAIN\AppData\Raoming\MyApp
을 반환 할 수 있습니다.
"lookup table"을 어딘가에 저장해야하지만, 가장 좋은 방법이나 구조가 무엇인지 잘 모르겠습니다. 데이터 세트를 사용하고 디스크에 테이블을 써야합니까? 아니면 그냥 기억에 남기고 있니?
단일 경로 값은 문자열과 열거 형에 매핑 할 수 있습니다. 문자열을 전달할 때 인덱스가 열거 형의 정수 값에 매핑되고 배열을 통해 검색을 수행하는 배열을 메모리에 유지할 수 있다고 가정합니다.
생각하십니까?
단지 생각 ... - 그래서 당신은 아마 모든 사용자가 자신의 AppData가 어디 있는지 알고 있기 때문에 "조회 테이블"을 제거 할 수
? –
예 - 그것이 내가 취할 접근법입니다. 일치하는 코드를 작성하지 않으려면 List 유형을 검사하거나보다 일반적인 사전 버전을 조사하십시오. 당신은 여전히 비교를 할 수있는 기능이 필요 하겠지만 꽤 쉽습니다. –
한 가지 더 질문 - 번역기는 일종의 유틸리티이므로 대용량 문이있는 정적 클래스로 작성했습니다. 이제 룩업 테이블을 메모리에 유지해야하므로 테이블을 공유 상태로 만들거나 클래스를 정적이 아닌 클래스로 만들어야합니까? –