ホームページ >Java >&#&チュートリアル >オブジェクト指向プログラミングにおける Java 関数設計パターン
Java 関数設計パターンは、関数インターフェース、ラムダ式、関数の組み合わせを通じてコードの再利用性と保守性を向上させることができます。つまり、関数インターフェースを定義し、関数のタイプを明確にします。ラムダ式を使用して匿名関数を作成します。関数合成を使用して関数をリンクし、新しい機能を作成します。 filter()、sort()、関数参照を介してリストを効率的に処理します。
#Java 関数型設計パターン: コードの再利用性と保守性の向上
はじめに 関数型プログラミングとは再利用可能で保守が容易なコードの作成に重点を置いた Java の強力なパラダイム。この記事では、機能設計パターンを検討し、それを実際のケースに適用してコードの品質を向上させる方法を示します。
関数インターフェイス関数インターフェイスは、抽象メソッドを 1 つだけ持つ関数タイプを定義します。 Java の関数インターフェイスは、
@FunctionalInterface アノテーションでマークされます。例:
@FunctionalInterface interface MathOperation { int operate(int a, int b); }
ラムダ式 ラムダ式を使用すると、匿名関数を使用してコードを簡素化できます。 。これらは、
-> 演算子構文を使用して定義されます。
MathOperation addition = (a, b) -> a + b;
関数合成関数合成とは、関数を連鎖させて新しい関数を形成するプロセスです。これは、
andThen() メソッドと
compose() メソッドを使用することで実現できます。
MathOperation subtractThenAdd = MathOperation.add.andThen(MathOperation.subtract);
実践的なケース
リストのフィルタリングこのようなリストを考えて、10 未満の数値を除外したいとします。
List<Integer> numbers = List.of(1, 2, 3, 4, 8, 12, 15);
filter() メソッドとラムダ式を組み合わせて使用できます。フィルタリングを実装するには:
List<Integer> filteredNumbers = numbers.stream() .filter(number -> number >= 10) .toList();
リストの並べ替え次に、フィルタリングされたリストを降順に並べ替えます:
List<Integer> sortedNumbers = filteredNumbers.stream() .sorted(Comparator.reverseOrder()) .toList();
関数リファレンス 関数参照の提供 既存のメソッドまたはコンストラクターを参照するためのより簡潔な方法。これらは、
ClassName::methodName 構文を使用して定義されます。
MathOperation multiply = Math::multiplyExact;
結論Java Functional Design Pattern は、効率的で再利用可能で、保守しやすいコード。関数インターフェイス、ラムダ式、関数合成、関数参照を活用することで、コードの品質を大幅に向上させ、複雑なタスクを簡素化できます。
以上がオブジェクト指向プログラミングにおける Java 関数設計パターンの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。