Zadejte hledaný výraz...

Vztahy mezi objekty

Petr
verified
rating uzivatele
29. 10. 2012 20:48:40
Ahoj,
kdysi jsem tady viděl vlákno na téma vztahy mezi objekty....alespoň myslím, že se to tak jmenovalo. Snažím se ho najít, ale nedaří se mi to. Martin Schlemmer tam dával odkaz na wiki, kde byl pěkný článek na toto téma. Sám tam radil, že by se měli objekty agregovat. Ale možná se pletu. Nepamatujete si to někdo náhodou? Hodil by se mi ten odkaz na to vlákno.
Díky
29. 10. 2012 20:48:40
https://webtrh.cz/diskuse/vztahy-mezi-objekty#reply825566
Myslíte
Jak myslet v OOP?
nebo Použití static u metod objektů, ano či ne?
29. 10. 2012 21:20:17
https://webtrh.cz/diskuse/vztahy-mezi-objekty#reply825565
derk
verified
rating uzivatele
(7 hodnocení)
29. 10. 2012 23:15:17
toho je na webu mraky, googlete "agregace kompozice". Např: http://www.cs.vsb.cz/benes/vyuka/upr/texty/objekty/ch01s02.html
29. 10. 2012 23:15:17
https://webtrh.cz/diskuse/vztahy-mezi-objekty#reply825564
Petr
verified
rating uzivatele
30. 10. 2012 07:24:38
Díky, bohužel to není ono, ale to nevadí. Zkusím to tady znovu teoreticky popsat.
Když tvořím objekt, který potřebuje ke své funkčnosti další objekt a zároveň tento druhý objekt může používat i jiný objekt, zda je lepší toto řešit kompozicí či asociací.
Pokud bych to tvořil kompozicí, zdá se to přehlednější. Ale pokud budu tvořit více instancí této třídy, budou se tvořit kompozitované objekty(pro každý objekt jeden), které potřebuje.
Pokud bych to provedl asocicací, stačil by mi jeden objekt, který by používali ostatní objekty pro svůj chod. Zajímalo by mě, pokud tvoříte objekty, zda máte nějaká pevná pravidla mezi jejimi vztahy.
Tedy že si jste ihned jisti, jaký vztah mezi danými objekty provést.
Snad je to srozumitelné.
30. 10. 2012 07:24:38
https://webtrh.cz/diskuse/vztahy-mezi-objekty#reply825563
derk
verified
rating uzivatele
(7 hodnocení)
31. 10. 2012 00:59:23
V UML vztah kompozice vyjadřuje fakt, že instance MojeTrida nemůže existovat bez instance CiziTrida a ta není součástí jiné kompozice. Pokud tahle dvě omezení nechceš, nakresli vztah jako agregaci. Samozřejmě jedině tehdy, kdy CiziTridy nějakým způsobem tvoří MojiTridu. Jestli se to tam jen nějak používá (třeba nějaká Service), tak je vztah prostou asociací.
Pokud nemá existovat více instancí (=objektů) nějaké třídy, tak existují návrhové vzory které to řeší jako Singleton (nedoporučované), obě Factory (u method nedoporučované staticky), DI a nejspíš další.
Pokud tedy existuje MojeTrida se zakomponovanou CiziTridou, tak si například její instanci předám do konstruktoru (jedna z možností DI).
31. 10. 2012 00:59:23
https://webtrh.cz/diskuse/vztahy-mezi-objekty#reply825562
Petr
verified
rating uzivatele
31. 10. 2012 09:34:48
Děkuji
31. 10. 2012 09:34:48
https://webtrh.cz/diskuse/vztahy-mezi-objekty#reply825561
Pro odpověď se přihlašte.
Přihlásit