확장 메서드로 내 발을 들여 놓고 현재 응용 프로그램 송장을 Quickbooks Invoice로 변환하는 매핑 논리를 개발 중입니다. .Convert() 확장 방법을 사용하는 것이 좋습니다.하나의 클래스를 다른 클래스에 매핑하는 확장 메서드를 사용하는 것이 적절합니까?
public static QBInvoice Convert(this InvoiceHeader importedInvoice)
변환은 클래스 간의 필드 매핑 일뿐입니다. 그러나 확장 메소드가 원래 클래스를 확장하고 다른 클래스로 변환하지 않는다는 것을 어딘가에서 읽습니다. 그러므로 내가 왜 묻고 있느냐. 나는 기술적으로 그것을 할 수 있음을 알고 있지만 준수하거나 금기시하는 것이 가장 좋습니다.
'InvoiceHeader'가 코드에 정의되어있는 경우 확장 메소드를 작성할 필요가 없습니다. 메소드를 클래스에 넣기 만하면됩니다. 그렇다고해서 뭔가를 변환하는 확장 메서드를 작성하는 데는 아무 문제가 없습니다. – Blorgbeard
@Blorgbeard 그렇지만 우리 앱은 Quickbooks, Sage 등 여러 금융 애플리케이션과 통합됩니다. 따라서 모든 변환 논리가 각각의 Financials 어댑터에 있으므로 변환 메소드로 원래 InvoiceHeader 클래스를 어지럽히고 싶지 않았습니다. 계획. –