Java のデザイン パターンとは何ですか?

王林
リリース: 2019-11-12 15:53:07
オリジナル
2678 人が閲覧しました

Java のデザイン パターンとは何ですか?

Java のデザイン パターン:

戦略パターン、プロキシ パターン、シングルトン パターン、複数インスタンス パターン、ファクトリ メソッド パターン、抽象ファクトリ パターン、ファサードパターン、アダプターパターン、テンプレートメソッドパターン、ビルダーパターン、ブリッジパターン、コマンドパターン、デコレーターパターン、イテレーターパターン、合成パターン、オブザーバーパターン、責任連鎖パターン、ビジターパターン、ステートパターン、プロトタイプパターン、メディエーターモード、インタープリターモード、恒源モード、メモモード。

例:

シングル ケース モード

いわゆるシングルトン設計とは、クラスがインスタンス化されたオブジェクトを 1 つだけ生成できることを意味します。最もよく理解されているデザイン パターンは、怠け者のスタイルと空腹の人のスタイルに分けられます。

Hungry Chinese style: 構築メソッドはプライベート化されています。新しいインスタンス化されたオブジェクトは外部から生成できません。インスタンス化されたオブジェクトは、静的メソッドを通じてのみ取得できます。

class Singleton {
    /**
     * 在类的内部可以访问私有结构,所以可以在类的内部产生实例化对象
     */
    private static Singleton instance = new Singleton();
    /**
     * private 声明构造
     */
    private Singleton() {

    }
    /**
     * 返回对象实例
     */
    public static Singleton getInstance() {
        return instance;
    }

    public void print() {
        System.out.println("Hello Singleton...");
    }
}
ログイン後にコピー

Lazy Chinese style: When using Singleton for初回 オブジェクトのインスタンス化操作は、オブジェクトの作成時にのみ生成されます。

class Singleton {

    /**
     * 声明变量
     */
    private static volatile Singleton singleton = null;

    /**
     * 私有构造方法
     */
    private Singleton() {

    }

    /**
     * 提供对外方法
     * @return 
     */
    public static Singleton getInstance() {
        // 还未实例化
        if (singleton == null) {
            synchronized (Singleton.class) {
                if (singleton == null) {
                    singleton = new Singleton();
                }
            }
        }
        return singleton;
    }
    public void print() {
        System.out.println("Hello World");
    }
}
ログイン後にコピー

推奨チュートリアル: Java チュートリアル

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!