Body zdarma Java týden
Využij podzimních slev a získej od nás až 40 % bodů zdarma! Více zde
Pouze tento týden sleva až 80 % na Java e-learning!
Avatar
tomekmichalhu:5. října 10:00

Zdravím, z čistě edukativních důvodů se snažím napsat grafický engine. Samotná implementace algoritmů není problém, ale chci to mít napsaný hezky a čistě, jak se sluší na OOP. Některé části programu má jednoznačně smysl mít jako instancovatelný objekt (Scénu, GrafickyObjekt a jeho deriváty...), ale třeba logiku zodpovědnou za vykreslování bodů na canvas bych měl rád aspoň z části statickou, abych nemusel skrz celej program předávat reference na objekt kterej tam stejně bude jenom jeden. Popravdě mi ani jedna alternativa nepřijde úplně zenová. Co z toho je lepší, případně je nějaký jiný způsob jak třeba to předávání referencí někam schovat? Předem děkuji za odpovědi.

 
Odpovědět 5. října 10:00
Avatar
Odpovídá na tomekmichalhu
Tadeáš Burda:5. října 11:54

dependency injection... je to fakt super ked to vis pouzivat a nepotrebujes statiku

Nahoru Odpovědět 5. října 11:54
Myslieť, znamená hovno vedieť...
Avatar
Odpovídá na tomekmichalhu
Tadeáš Burda:5. října 11:57

DI vytvorí jednu instanci a predá ju konstruktu kdekoľvek v programe... mas len jednu a onic sa nestaraš

Nahoru Odpovědět 5. října 11:57
Myslieť, znamená hovno vedieť...
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Lubor Pešek
Člen
Avatar
Odpovídá na Tadeáš Burda
Lubor Pešek:5. října 14:07

No, nevím, jestli se dá kontejner nazývat konstruktem:) Ale jestli dělá GUI založené na scénách atd. tak pochybuju, že dělá webovou aplikaci, takže Spring či EE asi nepoužívá.

Nahoru Odpovědět 5. října 14:07
Existují dva způsoby, jak vyřešit problém. Za prvé vyhoďte počítač z okna. Za druhé vyhoďte okna z počítače.
Avatar
Lubor Pešek
Člen
Avatar
Odpovídá na tomekmichalhu
Lubor Pešek:5. října 14:15

Pokud chceš statikou předávat reference, tak to nebude úplně to pravé ořechové. Pokud bys měl nějaký návrhový vzor typu tovární třídy či metody, tak budiž, ale není to úplně značka ideál.
Pokud používáš statiku, tak počítej s tím, že ji může použít kdokoliv jiný v balíku a otázka je, jestli je to žádoucí.
Samozřejmě těžko se radí, když neznáme strukturu programu, ale ze zkušeností bych do statiky nerval objekty. Stejně je musíš někde inicializovat, tak bych spíš zvážil strukturu programu, než to řešit statikou. To je pochopitelně jen můj osobní názor. Řada lidí ti může říct několik příkladů, kdy se to bude hodit víc.
Je fakt, že já už jsem tak zblblý Springem, že už takové věci skutečně neřeším a používám technologie, jako například dep. injection, jak to už popisoval Tadeáš Burda:)

Jinak pokud potřebuješ předávat nějaký jednotný objekt dynamicky za běhu programu, tak zkus použít přepravku (messenger) - návrhový vzor. Ten byl vytvořen právě na takové případy.

Nahoru Odpovědět  +1 5. října 14:15
Existují dva způsoby, jak vyřešit problém. Za prvé vyhoďte počítač z okna. Za druhé vyhoďte okna z počítače.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.