Rozdíl mezi patterny STATE a STRATEGY v Javě – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Rozdíl mezi patterny STATE a STRATEGY v Javě – Java – Fórum – Programujte.comRozdíl mezi patterny STATE a STRATEGY v Javě – Java – Fórum – Programujte.com

 

Jiří JIndra
~ Anonymní uživatel
2 příspěvky
14. 5. 2017   #1
-
0
-

Ahoj,

chtěl bych požádat o vysvětlení, jaký je největší rozdíl mezi návrhovými vzory State a Strategy.

Na většine diskuzních for se píše, že State si zapoudřené třídy s hováním mění sám, což by měl být největší rozdíl oproti Strategy, ale není to tak vždy. I externí třída může dané instanci změnit třídu ve Statu.

Jaký je tedy rozdíl mezi těmito vzory? Proč existují tyto dva separátně?

Děkuji za rady.

Nahlásit jako SPAM
IP: 213.220.197.–
Kit+15
Guru
14. 5. 2017   #2
-
0
-

#1 Jiří JIndra

I externí třída může dané instanci změnit třídu ve Statu.

Jak a proč by to dělala?

Nahlásit jako SPAM
IP: 194.228.68.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Jiří JIndra
~ Anonymní uživatel
2 příspěvky
14. 5. 2017   #3
-
0
-

#2 Kit
Například tak, že třída představující řízenou třídu obsahuje metodu set a v ní se instanci, jež imlementuje společné rozhraní pro State,  přiřadí jiný stav z hierarchie tříd stavů. Toto také může udělat i externí třída v případě, že daná metoda je public, nebo ne?

Nahlásit jako SPAM
IP: 213.220.197.–
Kit+15
Guru
14. 5. 2017   #4
-
0
-

#3 Jiří JIndra
V návrhových vzorech settery nejsou, nedá se s nimi tedy počítat.

Návrhové vzory nejsou jen o tom, jak se objekty navrhují, ale také o tom, jak se s nimi zachází. Pokud uděláš z více návrhových vzorů křížence, tak budeš mít křížence, ale nemůžeš tvrdit, že mezi těmi původními vzory není rozdíl.

Nahlásit jako SPAM
IP: 194.228.68.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 4 hosté

Podobná vlákna

Rozdíl mezi == a is — založil Ahoj3

Rozdíl mezi C, C++ a C# — založil Murmand

Rozdil mezi class a id — založil Václav Žitek

Rozdíl mezi zápisy — založil Tomas

Rozdil mezi endl a \n — založil MyName

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý