Maison > Java > JavaBase > Quels sont les modèles de conception en Java ?

Quels sont les modèles de conception en Java ?

王林
Libérer: 2019-11-12 15:53:07
original
2732 Les gens l'ont consulté

Quels sont les modèles de conception en Java ?

Modèles de conception en Java :

Modèle de stratégie, modèle de proxy, modèle singleton, modèle d'instances multiples, modèle de méthode d'usine, modèle d'usine abstraite, modèle de façade, modèle d'adaptateur, modèle de méthode de modèle, modèle de constructeur, modèle de pont, modèle de commande, modèle de décorateur, modèle d'itérateur, modèle de composition, modèle d'observateur, modèle de chaîne de responsabilité, modèle de visiteur, modèle d'état, modèle de prototype, mode médiateur, mode interprète , mode Hengyuan, mode mémo.

Instance :

Modèle Singleton

La conception dite singleton signifie qu'une classe ne permet de générer qu'un seul objet instancié. Le modèle de conception le mieux compris est divisé en style homme paresseux et style homme affamé.

Style chinois affamé : le constructeur est privatisé, de nouveaux objets instanciés ne peuvent pas être générés en externe et les objets instanciés ne peuvent être obtenus que par des méthodes statiques

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...");
    }
}
Copier après la connexion

Style chinois paresseux : lors de la première utilisation de Singleton time L'opération d'instanciation de l'objet ne sera générée qu'à la création de l'objet

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");
    }
}
Copier après la connexion

Tutoriel recommandé : Tutoriel Java

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal