Heim  >  Artikel  >  Java  >  Was sind die Entwurfsmuster in Java?

Was sind die Entwurfsmuster in Java?

王林
王林Original
2019-11-12 15:53:072693Durchsuche

Was sind die Entwurfsmuster in Java?

Entwurfsmuster in Java:

Strategiemuster, Proxy-Muster, Singleton-Muster, Mehrfachinstanzmuster, Fabrikmethodenmuster, abstraktes Fabrikmuster, Fassadenmuster, Adaptermuster, Vorlagenmethodenmuster, Builder-Muster, Brückenmuster, Befehlsmuster, Dekoratormuster, Iteratormuster, Kompositionsmuster, Beobachtermuster, Verantwortungskettenmuster, Besuchermuster, Zustandsmuster, Prototypmuster, Vermittlermodus, Interpretermodus , Hengyuan-Modus, Memo-Modus.

Instanz:

Singleton-Muster

Das sogenannte Singleton-Design bedeutet, dass eine Klasse nur die Generierung eines instanziierten Objekts zulässt. Das am besten verstandene Designmuster ist in den Lazy-Man-Stil und den Hungrig-Man-Stil unterteilt.

Hungriger chinesischer Stil: Der Konstruktor ist privatisiert, neue instanziierte Objekte können nicht extern generiert werden und instanziierte Objekte können nur über statische Methoden abgerufen werden

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 chinesischer Stil: Wenn Singleton zum ersten Mal verwendet wird time Der Vorgang zum Instanziieren des Objekts wird nur generiert, wenn das Objekt erstellt wird

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");
    }
}

Empfohlenes Tutorial: Java-Tutorial

Das obige ist der detaillierte Inhalt vonWas sind die Entwurfsmuster in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn