2009-11-24 2 views
0

저는 여러 버전의 구성 요소에 쉽게 액세스하고 구성 값에 액세스 할 수있는 구성 시스템을 개발해 왔으며 디자인 문제가있었습니다.디자인 문제 - 단일 구조체에서 두 가지 유형의 데이터 관리

문제는 이렇게됩니다. FooConfig라고 부르는 클래스가 있습니다. 이 클래스는 기본적으로 데이터 전송 객체이며 모든 것은 속성입니다. 이제 config 시스템은 어떤 클래스 (이 경우에는 FooConfig를 취함)를 가져올 수 있으며 메소드를 가져 오거나 설정 한 모든 속성을 반영합니다. 그런 다음 해당 값을 가져 와서 ConfigSettings라는 다른 클래스를 채 웁니다. ConfigSettings 클래스는 기본적으로 Property 구조체와 다른 것들의 콜렉션을 보유하고 있지만 이것은 중요하지 않습니다.

내가 직면 한 문제는 FooConfig에서 수집 한 개별 데이터를 보유하고 ConfigSettings 내부에서 보유되는 구조체 (Property)가 있다는 것입니다. 이것은 간단한 키 값 시나리오에 데이터를 저장할 때 좋았지 만 지금은 Property 구조체에 컬렉션과 단일 값을 저장할 수 있어야합니다.

그래서 누구나 컬렉션을 관리하고 단일 값을 좋은 방법으로 관리하는 방법에 대한 아이디어가 있는지 궁금합니다. 일반적으로 두 개의 별도의 구조체를 만들지 만 속성 구조체는 ConfigSettings 클래스에서 액세스 할 수 있어야하며 불변성이 필요합니다.

답변

0

키/값 컬렉션의 경우 Dictionnary 개체를 사용할 수 있습니다. 예를

Class ConfigSettings 
{ 
    struct Property 
    { 
     Dictionary<int, string> mydict = new Dictionary<int,string>(); 
     int somevalue; 
    } 
} 

사전에 대한

관리 및 내부 항목을 추적하는 것은 매우 쉽습니다.

관련 문제