2013-08-28 4 views
0

미리 오염 된 데이터로 매핑 객체를 작성하고이를 수행하는 가장 좋은 방법을 찾고 있습니다.건물 매핑 객체를위한 디자인 패턴

나는 이런 식으로하려고합니다.

public static class CodeNameMapping 
    { 
     private static Dictionary<string, string> _mapping = new Dictionary<string, string>(); 
     static CodeNameMapping() 
     { 
      _mapping.Add(Constants.CODE_FS, PageNames.FB_PAGE); 
      _mapping.Add(Constants.CODE_MA,PageNames.MA_PAGE); 
     } 

     public static string GetPageNameFor(string code) 
     { 
      return _mapping[code]; 
     } 
    } 

이것을 달성하는 좋은 방법입니까? ? GetPageNameFor 당신, 내부,

public static class CodeNameMapping 
{ 
    private static Dictionary<string, string> _mapping = new Dictionary<string, string>{ 
     {Constants.CODE_FS, PageNames.FB_PAGE}, 
     {Constants.CODE_MA, PageNames.MA_PAGE} 
    }; 

    public static string GetPageNameFor(string code) 
    { 
     return _mapping[code]; 
    } 

} 

을 그리고 : 또는이 일을 다른 더 나은 패턴

+1

또한 이러한 매핑을 구성 파일에서 빌드하는 것이 좋습니다. 내 경험에 비추어 볼 때 이러한 유형의 매핑은 변화를 향한 강한 경향이 있습니다. 나는 당신의 매핑이 나타내는 것을 모른다. 그런 것들이 진정으로 일정하거나 코드 내에서 완전히 통제 할 수있는 경우가 있습니다. 하지만 대부분의 경우 결국 매핑을 변경하거나 몇 가지 새로운 매핑을 추가해야합니다. –

답변

0

당신은 그래서 같은 사전의 정적 초기화를 사용할 수 (나는 ??? 공장 생각할 수)있다 키가 먼저 존재하는지 확인하고 싶을 수 있습니다.