Citat:
Pitanje je bilo da li da, ako mi trebaju recimo 3 posebne fabrike, njih spakujem u neku klasu koja samo sadrži nijh tri (tuple), ili da ih ostavim kao posebne delove agregata.
Kao posebne klase.
interface GraphFactory { Vertex createVertex(parametri); Edge creatEdge(parametri); }
class Factory1 implements Factrory {...}
class Factory2 implements Factrory {...}
Nadam se da sam te sad dobro razumeo.
Ono sto sam ja naveo jeste Visitor pattern, mozda njegova najjednostavnija varijanta, gde je zbog jednostavnosti metoda zapravo izostavio Visitor klasu. Ne znam da li Filipu treba nesto komplikovanije, u svakom slucaju ako treba primer koji je naveo sspasic moze da posluzi.
Ono sto je sspasic naveo kao kao getInstance() ne resava Filipu problem, u stvari ne resava nista, jer mora da se pozove sa objekat.getInstance() sto daje isti rezultat kao i samo objekat.
Objekat ima svoju konkretnu klasu, pitanje je samo kako bez kastovanja izvrsiti odgovarajucu operaciju, a to se jednostavno radi koristeci polimorfizam.