ホームページ  >  記事  >  Java  >  Java デザインパターンの分類と原則の解釈

Java デザインパターンの分類と原則の解釈

WBOY
WBOYオリジナル
2024-05-09 18:51:011044ブラウズ

Java デザイン パターンは、作成、構造、動作の 3 つのカテゴリに分類され、単一責任、オープン/クローズ、依存関係の反転、およびインターフェイスの分離の原則に従います。実際のケースとしては、シングルトン パターン(作成型)、アダプター パターン(構造型)、ストラテジ パターン(動作型)などがあります。デザイン パターンは、柔軟でスケーラブルなコードの開発に役立つ実証済みのコード再利用ソリューションを提供します。

Java デザインパターンの分類と原則の解釈

Java デザイン パターンの分類と原則の解釈

はじめに

デザイン パターンは、一般的なソフトウェア開発の問題を解決するための実証済みのコード再利用ソリューションです。これにより、開発者は柔軟性があり、保守しやすく、簡単に拡張できるコードを作成できます。 Java には、さまざまな問題を解決するための豊富な組み込み設計パターンが用意されています。

分類

Java デザイン パターンは、その焦点に基づいて 3 つのカテゴリに分類されます:

  • クリエイティブ パターン: オブジェクトの作成に使用されます。たとえば、ファクトリ メソッド パターン、シングルトン パターンなどです。
  • 構造パターン: オブジェクトの結合と関連付け用。たとえば、アダプター モード、ブリッジ モードなどです。
  • 行動パターン: オブジェクト間の相互作用を管理するために使用されます。例えば、観察者パターン、戦略パターン。

原則

デザインパターンを適用するときは、次の原則に従うことが重要です:

  • 単一責任の原則: 各クラスは主な責任を 1 つだけ持つ必要があります。
  • オープンクローズの原則: 拡張にはオープン、変更にはクローズ。
  • 依存関係逆転の原則: 高レベルのモジュールは低レベルのモジュールに依存すべきではなく、両方とも抽象化に依存する必要があります。
  • インターフェース分離原則: インターフェースは可能な限り細分化して、必要な操作のみを指定する必要があります。

実際的なケース

シングルトンパターン(クリエイティブパターン)

シングルトンパターンは、クラスがインスタンスを 1 つだけ持つことを保証します。これは通常、グローバル リソースまたは構成オブジェクトを作成するために使用されます。

public class Singleton {

    private static Singleton instance = null;

    private Singleton() { }

    public static Singleton getInstance() {
        if (instance == null) {
            instance = new Singleton();
        }
        return instance;
    }
}

アダプター パターン(構造パターン)

アダプター パターンを使用すると、互換性のないインターフェイスを連携させることができます。たとえば、古いシステムと新しいシステムを統合します。

interface Target {
    void operation();
}

class Adaptee {
    void specificOperation() { }
}

class Adapter implements Target {

    private Adaptee adaptee;

    public Adapter(Adaptee adaptee) {
        this.adaptee = adaptee;
    }

    @Override
    public void operation() {
        adaptee.specificOperation();
    }
}

戦略パターン (行動パターン)

戦略パターンでは、実行時にアルゴリズムを交換できます。これは、カスタマイズ可能または拡張可能なシステムを実装するために使用されます。

interface Strategy {
    int calculate(int a, int b);
}

class AdditionStrategy implements Strategy {

    @Override
    public int calculate(int a, int b) {
        return a + b;
    }
}

class SubtractionStrategy implements Strategy {

    @Override
    public int calculate(int a, int b) {
        return a - b;
    }
}

class Context {

    private Strategy strategy;

    public Context(Strategy strategy) {
        this.strategy = strategy;
    }

    public void executeStrategy(int a, int b) {
        System.out.println(strategy.calculate(a, b));
    }
}

結論

デザイン パターンは Java 開発における強力なツールであり、一般的なソフトウェア開発の問題を解決する実証済みのアプローチを提供します。分類と原則を理解することで、開発者は設計パターンを効果的に適用して、柔軟で保守可能、スケーラブルなコードを作成できます。

以上がJava デザインパターンの分類と原則の解釈の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。