순수 기능 변환은 다양한 상황에서 적용할 수 있습니다.
함수 변환 방법은 구조화된 데이터를 쿼리하고 조작하는 데 이상적입니다. 따라서 LINQ 기술에 적합합니다. 그러나 기능 변환은 LINQ에서 사용하는 것보다 훨씬 더 광범위한 적용 가능성이 있습니다. 데이터를 한 폼에서 다른 폼으로 변환하는 데 중점을 두는 모든 프로세스는 함수 변환의 후보로 간주되어야 합니다.
이 방법은 언뜻 보기에 후보가 되지 않을 수 있는 많은 문제에 적용할 수 있습니다. LINQ와 함께 사용되거나 LINQ와 별도로 사용되는 함수 변환은 다음 영역에 대해 고려해야 합니다.
- XML 기반 문서입니다. 모든 XML 방언의 올바른 형식의 데이터는 기능 변환을 통해 쉽게 조작할 수 있습니다. 자세한 내용은 XML의 기능 변환을 참조하세요.
- 기타 구조적 파일 형식입니다. Windows.ini 파일에서 일반 텍스트 문서에 이르기까지 대부분의 파일에는 분석 및 변환에 대한 일부 구조가 있습니다.
- 데이터 스트리밍 프로토콜. 통신 프로토콜에서 데이터를 인코딩하고 디코딩하는 작업은 간단한 기능 변환으로 나타낼 수 있습니다.
- RDBMS 및 OODBMS 데이터입니다. XML과 마찬가지로 관계형 및 개체 지향 데이터베이스는 널리 사용되는 구조화된 데이터 원본입니다.
- 수학, 통계 및 과학 솔루션. 이러한 필드는 사용자가 사소한 문제를 시각화, 예측 또는 실제로 해결하는 데 도움이 되도록 큰 데이터 집합을 조작하는 경향이 있습니다.
순수 함수로 리팩터링에 설명된 대로 순수 함수를 사용하는 것이 함수 프로그래밍의 예입니다. 즉각적인 이점 외에도 순수 함수를 사용하면 기능 변환 관점에서 문제에 대해 생각하는 데 유용한 경험을 제공합니다. 이 접근 방식은 프로그램 및 클래스 디자인에도 큰 영향을 미칠 수 있습니다. 이는 위에서 설명한 대로 문제가 데이터 변환 솔루션에 도움이 되는 경우에 특히 그렇습니다.
이 자습서의 범위를 벗어나지만 기능 변환 관점의 영향을 받는 디자인은 개체보다 개체를 행위자로 중심으로 하는 경향이 있으며, 결과 솔루션은 개별 개체 상태 변경이 아닌 일련의 대규모 변환으로 구현되는 경향이 있습니다.
다시 말하지만, C# 및 Visual Basic은 명령적 접근 방식과 기능적 접근 방식을 모두 지원하므로 애플리케이션에 가장 적합한 디자인은 둘 다의 요소를 통합할 수 있습니다.
참고하십시오
.NET