Javaでよくつかうデザインパターンを入門者向けにわかりやすい説明をサンプルを交えてご紹介します。これを見れば、デザインパターンを使いこなせるようになります。

Facade

Facadeとは、Javaデザインパターンのひとつであり、サブシステムを利用するユーザーの用途に合わせた窓口(インタフェース)を提供する。

シングルトン

Singletonとは、Javaデザインパターンのひとつであり、そのクラスから生成できるインスタンスの数を1つに制限する。

/**
 * Singletonパターンの例
 */
public class Example {
  // 自身のインスタンスをpriavteなクラス変数で持つ
  private static Example example = new Example();

  // 外部からインスタンスを生成できないようコンストラクタをprivateにする
  private Example() {
  }

  /**
   * インスタンスを返すクラス関数を定義する
   * @return Exampleクラスのインスタンス
   */
  public static Example getInstance() {
    return example;
  }
}

シングルトンのデザインパターンでは、クラスをnewでインスタンス化するのではなく、インスタンスを取得するメソッドを使用する。

// Example example = new Example() ではない
Example example = Example.getInstance();