[번역] AutoMapper 공식 시작 문서 Getting started

2571 단어
번역자 주: 기술이 날로 새로워지고 이 글의 유효성을 보장하지 않으니 정부 업데이트를 기준으로 하십시오.또한 이해하기 쉽도록 번역은 원문을 그대로 답습하지 않고 약간 수정한다
번역일자 2017년 3월 5일
원본 주소

AutoMapper란 무엇입니까?


AutoMapper는 객체에서 객체로의 변환 매핑 도구(object-object mapper)입니다.그것은 입력 대상을 다른 유형의 대상 출력으로 변환할 수 있다.AutoMapper가 더 재미있는 점은 우리가 대상을 바꾸는 데 도움을 줄 수 있는 재미있는 관례 규칙을 제공한다는 것이다.AutoMapper에서 설정한 규칙에 따라(솔리드를 구성하는 경우) 불필요한 설정이 필요하지 않습니다.

AutoMapper를 사용해야 하는 이유


수동 짝짓기는 지루하고, 짝짓기가 정확한지 테스트하는 것은 더 지루하다.AutoMapper는 구성이 간단하고 테스트가 쉬우며 빨리 사용하지 못합니까?사실 이 질문은 이렇게 해야 돼요. "털 때문에 Object-object mapper?"짝짓기는 많은 곳에서 발생할 수 있는데 특히 층과 층 사이, 예를 들어 UI 층과 영역 층, 또는 서비스 층과 영역 층에서 발생한다.한 층을 수정하면 보통 다른 층의 충돌을 초래할 수 있으므로 Object-objectmapper로 하여금 모형을 격리시키고 각 층이 독립적으로 자신의 일을 잘 할 수 있도록 하세요.

AutoMapper는 어떻게 사용합니까?


우선, 당신은 원시류와 목표류가 필요합니다.목표 유형의 디자인은 그가 있는 층에 따라 할 수 있지만, 필드 이름이 같을 경우 AutoMapper가 당신을 위해 더 좋은 서비스를 제공할 수 있습니다.예를 들어 원본 클래스의 필드를'FirstName'이라고 부르면 목표 클래스의'FirstName'필드를 자동으로 맞춥니다.AutoMapper에서도 Flattening 지원
AutoMapper는 짝을 지을 때 빈 인용 이상을 무시합니다. 이것은 고의로 설계한 것입니다. 만약 마음에 들지 않는다면 Custom-value-resolvers를 사용해도 됩니다.
짝짓기를 원하는 유형이 생기면 Mapper Configuration이나 정적 클래스 Mapper로 짝짓기를 만듭니다.일반적으로 모든 응용 프로그램 필드는 하나의 Mapper Configuration 실례만 필요하고 시작할 때 실례화되어 Mapper를 사용할 수 있습니다.Initialize(더 많은 예는 Static-and-instance-API 참조)
   Mapper.Initialize(cfg => cfg.CreateMap());
    //  
    var config = new MapperConfiguration(cfg => cfg.CreateMap());

왼쪽은 원시적이고 오른쪽은 타겟 클래스이며 정적 방법인지 인스턴스화된 Mapper인지는 static or instance initialization:
var mapper = config.CreateMapper();
//   
var mapper = new Mapper(config);
OrderDto dto = mapper.Map(order);
//   
OrderDto dto = Mapper.Map(order);

대부분의 응용 프로그램은 이미 만들어진 Imapper 인스턴스를 주입에 의존하는 방법을 사용할 수 있습니다.
AutoMapper는 위의 방법에 대해 비범용 버전도 있는데, 컴파일할 때 유형을 모를 때 사용한다

AutoMapper는 어디에서 구성됩니까?


정적 매퍼를 사용하면 프로그램 영역마다 한 번만 설정할 수 있다. 즉, 가장 좋은 곳은 프로그램이 시작되는 곳, 예를 들어 ASP이다.NET 프로그램은 Global에 설정됩니다.asax 파일 아래.일반적으로 이니시에이터의 클래스를 구성하려면 고유의 클래스가 필요하며 응용 프로그램 시작 방법에서 호출됩니다. 이니시에이터의 클래스는 Mapper라고 할 수 있습니다.모든 쌍을 구성하려면 Initialize

내 마핑스를 어떻게 테스트해?


너의 짝짓기를 시험하기 위해서 너는 두 가지 일을 해야 한다
  • 이니시에이터 클래스를 호출하여 모든 짝을 만듭니다
  • Mapper Configuration을 호출합니다.AssertConfigurationIsValid 예:
  • var config = AutoMapperConfiguration.Configure();
    
    config.AssertConfigurationIsValid();
    

    데모 있어요?


    dnrTV episode on AutoMapper를 보세요.

    좋은 웹페이지 즐겨찾기