ホームページ  >  記事  >  Java  >  Java フレームワークの一般的な設計パターン

Java フレームワークの一般的な設計パターン

WBOY
WBOYオリジナル
2024-06-02 10:57:57325ブラウズ

Java フレームワークのデザイン パターンは、コードの拡張性、保守性、再利用性を強化するために使用されます。一般的に使用されるパターンは次のとおりです。 シングルトン パターン: クラスのインスタンスが 1 つだけ存在し、アプリケーション全体でそのインスタンスにアクセスできるようにします。ファクトリ メソッド パターン: オブジェクトのインターフェイスを作成し、サブクラスがどのオブジェクトをインスタンス化するかを決定します。オブザーバー パターン: 1 対多の依存関係を定義します。1 つのオブジェクトが変更されると、他のオブジェクトが通知を受け取り、そのステータスを更新します。戦略パターン: 一連のアルゴリズムを定義し、それらを交換可能にして、アルゴリズム クラスをクライアント クラスから独立させます。

Java フレームワークの一般的な設計パターン

Java フレームワークで一般的に使用されるデザイン パターン

ソフトウェア開発プロセスにおいて、デザイン パターンは、一般的な問題を解決するために使用される実証済みのコード編成構造です。 Java フレームワークでは、コードの拡張性、保守性、再利用性を高めるためにデザイン パターンが広く使用されています。 Java フレームワークで最も一般的に使用される設計パターンの一部を以下に示します。

シングルトン パターン

  • 目的: クラスのインスタンスが 1 つだけ存在することを確認し、アプリケーション全体でそのインスタンスにアクセスします。

    public class Singleton {
      private static Singleton instance;
    
      private Singleton() { /* Private constructor to prevent instantiation */ }
    
      public static Singleton getInstance() {
          if (instance == null) {
              instance = new Singleton();
          }
          return instance;
      }
    }

ファクトリメソッドパターン

  • 目的: オブジェクトを作成するためのインターフェースを定義し、どのクラスをインスタンス化するかをサブクラスに決定させます。

    public interface ShapeFactory {
      Shape createShape();
    }
    
    public class CircleFactory implements ShapeFactory {
      @Override
      public Shape createShape() {
          return new Circle();
      }
    }
    
    public class SquareFactory implements ShapeFactory {
      @Override
      public Shape createShape() {
          return new Square();
      }
    }

オブザーバーパターン

  • 目的: 1 つのオブジェクトが変更されると、他のオブジェクトが通知を受け取り、そのステータスを更新します。

    public interface Observer {
      void update(Subject subject);
    }
    
    public class Subject {
      private List<Observer> observers = new ArrayList<>();
    
      public void addObserver(Observer observer) {
          observers.add(observer);
      }
    
      public void removeObserver(Observer observer) {
          observers.remove(observer);
      }
    
      public void notifyObservers() {
          for (Observer observer : observers) {
              observer.update(this);
          }
      }
    }

戦略パターン

  • 目的: アルゴリズムのファミリーを定義し、カプセル化して交換可能にします。このパターンでは、アルゴリズム クラスを、それを使用するクライアント クラスから独立させます。

    public interface Strategy {
      int calculate(int num1, int num2);
    }
    
    public class AdditionStrategy implements Strategy {
      @Override
      public int calculate(int num1, int num2) {
          return num1 + num2;
      }
    }
    
    public class SubtractionStrategy implements Strategy {
      @Override
      public int calculate(int num1, int num2) {
          return num1 - num2;
      }
    }

実際のケース: Spring Framework のオブザーバー パターン

Spring Framework は、Bean イベントを通知するためにオブザーバー パターンを使用します。 Bean が作成、破棄、または変更されると、Spring はアプリケーションがサブスクライブしてそれに応じて動作できるイベントを発行します。

りー

以上がJava フレームワークの一般的な設計パターンの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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