oktatas:programozas:tervezesi_mintak:singelton_metodus
Tartalomjegyzék
Singleton
- Szerző: Sallai András
- Copyright © Sallai András, 2014
- Licenc: GNU Free Documentation License 1.3
- Web: http://szit.hu
A Singleton tervezési mintát akkor használjuk ha egy osztály példányosítását csak egyszer szeretnénk megengedni.
Mohó singleton
class MohoSingleton { private static volatile MohoSingleton instance = new MohoSingleton(); private MohoSingleton() { } public static MohoSingleton getInstance() { return instance; } }
Ennek a kódnak van egy hátránya. Ha kell, ha nem futási időben létrejön.
Lusta singleton
final class LustaSingleton { private static volatile LustaSingleton instance = null; private LustaSingleton(){ } public static LustaSingleton getInstance(){ if(instance == null) { synchronized (LustaSingleton.class) { instance = new LustaSingleton(); } } return instance; } }
Dupla ellenőrzés
Dupla ellenőrzésre akkor van szükség, ha több szállal dolgozunk. Ha két külön száll is létrehozhatja a példányt, akkor kétszeres ellenőrzést használunk:
class HarmadikSingleton { private static volatile HarmadikSingleton instance = null; private HarmadikSingleton() { } public static HarmadikSingleton getInstance() { if(instance == null) { synchronized (HarmadikSingleton.class) { if(instance == null) { instance = new HarmadikSingleton(); } } } return instance; } }
oktatas/programozas/tervezesi_mintak/singelton_metodus.txt · Utolsó módosítás: 2019/08/22 13:35 szerkesztette: admin