Rozdíl mezi návrhovými vzory Přepravka x Obálka x Holder

tema

Re:Rozdíl mezi návrhovými vzory Přepravka x Obálka x Holder
« Odpověď #15 kdy: 19. 07. 2016, 18:38:13 »
Účel některých návrhových vzorů jsem také nikdy nepochopil. Proč například používat Singleton namísto statických tříd?


Kit

Re:Rozdíl mezi návrhovými vzory Přepravka x Obálka x Holder
« Odpověď #16 kdy: 19. 07. 2016, 18:46:05 »
Účel některých návrhových vzorů jsem také nikdy nepochopil. Proč například používat Singleton namísto statických tříd?

Proč používat statické třídy místo Singletonu? Proč používat Singleton jinde než v NullObject?

Kit

Re:Rozdíl mezi návrhovými vzory Přepravka x Obálka x Holder
« Odpověď #17 kdy: 19. 07. 2016, 18:48:08 »
Účel některých návrhových vzorů jsem také nikdy nepochopil. Proč například používat Singleton namísto statických tříd?

Ještě jednoduchá odpověď: Statická třída se nedá injektovat, což je její obrovské mínus.

tema

Re:Rozdíl mezi návrhovými vzory Přepravka x Obálka x Holder
« Odpověď #18 kdy: 19. 07. 2016, 19:13:40 »
Účel některých návrhových vzorů jsem také nikdy nepochopil. Proč například používat Singleton namísto statických tříd?

Ještě jednoduchá odpověď: Statická třída se nedá injektovat, což je její obrovské mínus.

Určitě tohle nejde řešit pomocí nějakých dynamických importů? (Javu neznám)

xxx

Re:Rozdíl mezi návrhovými vzory Přepravka x Obálka x Holder
« Odpověď #19 kdy: 19. 07. 2016, 19:26:25 »
Ked mas staticku triedu, uz mas v dalsom kode zadrotovanu zavislost na konkretnych statickych metodach. Singleton trieda stale moze dedit od nejakych rozhrani. Takze to, ze je je tam nejaky sngleton vobec nemusis vsade tahat.


javaman

Re:Rozdíl mezi návrhovými vzory Přepravka x Obálka x Holder
« Odpověď #20 kdy: 19. 07. 2016, 19:29:01 »
Účel některých návrhových vzorů jsem také nikdy nepochopil. Proč například používat Singleton namísto statických tříd?
Proč používat statické třídy místo Singletonu? Proč používat Singleton jinde než v NullObject?

Co je to za nesmysl?

Kit

Re:Rozdíl mezi návrhovými vzory Přepravka x Obálka x Holder
« Odpověď #21 kdy: 19. 07. 2016, 19:32:57 »
Účel některých návrhových vzorů jsem také nikdy nepochopil. Proč například používat Singleton namísto statických tříd?

Ještě jednoduchá odpověď: Statická třída se nedá injektovat, což je její obrovské mínus.

Určitě tohle nejde řešit pomocí nějakých dynamických importů? (Javu neznám)

Daleko jednodušší je vyrobit instanci a tu injektovat.

javaman

Re:Rozdíl mezi návrhovými vzory Přepravka x Obálka x Holder
« Odpověď #22 kdy: 19. 07. 2016, 20:03:45 »
Účel některých návrhových vzorů jsem také nikdy nepochopil. Proč například používat Singleton namísto statických tříd?
Proč používat statické třídy místo Singletonu? Proč používat Singleton jinde než v NullObject?

Co je to za nesmysl?

+1

Platon

Re:Rozdíl mezi návrhovými vzory Přepravka x Obálka x Holder
« Odpověď #23 kdy: 19. 07. 2016, 20:15:36 »
javaman dal sam sebe +1. Pozor na neho, to bude schizofrenik! Co sa tyka Singletonu, tak splna principy OOP, co nemozno povedat o statickej triede.

gl

Re:Rozdíl mezi návrhovými vzory Přepravka x Obálka x Holder
« Odpověď #24 kdy: 19. 07. 2016, 20:17:55 »
Účel některých návrhových vzorů jsem také nikdy nepochopil. Proč například používat Singleton namísto statických tříd?
Proč používat statické třídy místo Singletonu? Proč používat Singleton jinde než v NullObject?

Co je to za nesmysl?

+1

Vy jste dva?

Kit

Re:Rozdíl mezi návrhovými vzory Přepravka x Obálka x Holder
« Odpověď #25 kdy: 19. 07. 2016, 20:19:09 »
Ked mas staticku triedu, uz mas v dalsom kode zadrotovanu zavislost na konkretnych statickych metodach. Singleton trieda stale moze dedit od nejakych rozhrani. Takze to, ze je je tam nejaky sngleton vobec nemusis vsade tahat.

On se ani Singleton nemusí všude tahat. Zatím jediné rozumné použití jsem našel právě v NullObject. V ostatních případech se jednoduše použije jedna standardní instance třídy.

javaman

Re:Rozdíl mezi návrhovými vzory Přepravka x Obálka x Holder
« Odpověď #26 kdy: 19. 07. 2016, 20:26:03 »
V ostatních případech se jednoduše použije jedna standardní instance třídy.

Normálně se tomu říká singleton :D Ale to je jasný, že ty máš svoje názvosloví, abys mohl trollit.

Kit

Re:Rozdíl mezi návrhovými vzory Přepravka x Obálka x Holder
« Odpověď #27 kdy: 19. 07. 2016, 20:39:57 »
Co sa tyka Singletonu, tak splna principy OOP, co nemozno povedat o statickej triede.

Nevýhodou Singletonu je, že se nedá použít standardní operátor new, neboť konstruktor je privátní. Je také docela problém mu předat nějaké parametry, například přihlašovací údaje pro připojení k databázi.

xxx

Re:Rozdíl mezi návrhovými vzory Přepravka x Obálka x Holder
« Odpověď #28 kdy: 19. 07. 2016, 20:57:29 »
Ak by si hocikto vytvoril objekt, uz by to moc single nebolo. Je to ciel a zakladna vlastnost.

Atributy objektu nastavis ake chces. Xyz.getInstance().setAbc(...)

Kit

Re:Rozdíl mezi návrhovými vzory Přepravka x Obálka x Holder
« Odpověď #29 kdy: 19. 07. 2016, 21:01:11 »
Ak by si hocikto vytvoril objekt, uz by to moc single nebolo. Je to ciel a zakladna vlastnost.

Atributy objektu nastavis ake chces. Xyz.getInstance().setAbc(...)

Zrovna u té databáze ten objekt může vytvořit jen ten, kdo zná přístupová práva. A to jen v jediné třídě celé aplikace. Zároveň mi to nezabrání otevřít 3 různé databáze a pracovat s nimi.

Gettery ani settery nepoužívám. Myslel jsem si, že to víš.