純粋関数型変換は、さまざまな状況で適用できます。
関数型変換アプローチは、構造化データのクエリと操作に最適です。そのため、LINQ テクノロジに適しています。 ただし、関数型変換の適用性は、LINQ での使用よりもはるかに広くなります。 データをあるフォームから別のフォームに変換することに重点を置くプロセスは、おそらく関数型変換の候補と見なされる必要があります。
このアプローチは、一見して候補として表示されない可能性がある多くの問題に適用されます。 LINQ と組み合わせて使用するか、LINQ とは別に使用します。関数型変換は、次の領域で考慮する必要があります。
- XML ベースのドキュメント。 任意の XML 言語の整形式データは、関数型変換を使用して簡単に操作できます。 詳細については、「 XML の関数型変換」を参照してください。
- その他の構造化ファイル形式。 Windows.ini ファイルからプレーン テキスト ドキュメントまで、ほとんどのファイルには、分析と変換に役立ついくつかの構造があります。
- データ ストリーミング プロトコル。 通信プロトコルへのデータのエンコードと通信プロトコルからのデータのデコードは、多くの場合、単純な機能変換によって表すことができます。
- RDBMS と OODBMS データ。 XML と同様に、リレーショナル データベースとオブジェクト指向データベースは、広く使用されている構造化データ ソースです。
- 数学、統計、科学のソリューション。 これらのフィールドは、大きなデータ セットを操作して、ユーザーが単純でない問題を視覚化、推定、または実際に解決するのに役立つ傾向があります。
「純粋関数へのリファクタリング」で説明されているように、純粋関数の使用は関数型プログラミングの例です。 純粋関数を使用すると、関数型変換の観点から問題を考える上で貴重な経験が得られます。 このアプローチは、プログラムとクラスの設計にも大きな影響を与える可能性があります。 これは、上で説明したように、問題がデータ変換ソリューションに役立つ場合に特に当てはまります。
このチュートリアルでは説明しませんが、関数型変換の観点から影響を受ける設計は、アクターとしてのオブジェクトよりもプロセスを中心とする傾向があり、結果として得られるソリューションは、個々のオブジェクト状態の変化ではなく、一連の大規模な変換として実装される傾向があります。
ここでも、C# と Visual Basic では命令型アプローチと関数型アプローチの両方がサポートされているため、アプリケーションに最適な設計で両方の要素が組み込まれる可能性があることに注意してください。
こちらも参照ください
.NET