Návrhové vzory
Z MiS
(Rozdíly mezi verzemi)
m (Oprava překlepu) |
(→Jedináček: Doplněn kód a kratičký komentář) |
||
| Řádka 2: | Řádka 2: | ||
== Jedináček == | == Jedináček == | ||
| + | Rysy | ||
| + | * má třídní (static) atribut <code>instance</code> | ||
| + | * má třídní metodu <code>NazevTridy getInstance()</code> | ||
| + | ** vrací hodnotu atributu instance | ||
| + | * konstruktory jsou [[Java: Modifikátory přístupu|private]]. | ||
| + | |||
| + | |||
| + | Zajišťuje, že : | ||
| + | * existuje pouze jediná instance zvolené třídy | ||
| + | * k této jediné instanci máme přístup odkudkoli bez nutnosti předávat odkazy prostřednictvím parametrů apod. | ||
| + | |||
| + | Příklad implementace návrhového vzoru: | ||
| + | public class Pocitadlo { | ||
| + | |||
| + | '''static''' Pocitadlo instance = null; | ||
| + | public '''static''' Pocitadlo getInstance() { | ||
| + | if (Pocitadlo.instance == null) { | ||
| + | Pocitadlo.instance = new Pocitadlo(); | ||
| + | } | ||
| + | return Pocitadlo.instance; | ||
| + | } | ||
| + | |||
| + | '''private''' Pocitadlo() { | ||
| + | ... | ||
| + | } | ||
| + | |||
| + | ... | ||
| + | } | ||
| + | |||
| + | Příklad použití: | ||
| + | Pocitadlo.getInstance().zvysBody(3); | ||
== Pozorovatel == | == Pozorovatel == | ||
Verze z 10. 4. 2014, 08:49
Jedináček
Rysy
- má třídní (static) atribut
instance - má třídní metodu
NazevTridy getInstance()- vrací hodnotu atributu instance
- konstruktory jsou private.
Zajišťuje, že :
- existuje pouze jediná instance zvolené třídy
- k této jediné instanci máme přístup odkudkoli bez nutnosti předávat odkazy prostřednictvím parametrů apod.
Příklad implementace návrhového vzoru:
public class Pocitadlo {
static Pocitadlo instance = null;
public static Pocitadlo getInstance() {
if (Pocitadlo.instance == null) {
Pocitadlo.instance = new Pocitadlo();
}
return Pocitadlo.instance;
}
private Pocitadlo() {
...
}
...
}
Příklad použití:
Pocitadlo.getInstance().zvysBody(3);