Opis projekta s dostupnim funkcionalnostima dostupan je ovdje. Radi se o projektu s kolegija Uzorci Dizajna gdje je glavna ideja bila iskoristiti što više prikladnijih GOF uzoraka.
Projekt je implementiran koristeći Maven Java 21.
- Kloniranje repozitorija
git clone https://github.com/ttomasicc/hzvoz.git- Pozicioniranje u korjenski direktorij projekta
cd app/ttomasic20_zadaca_3/- Instalacija JAR-a
mvn clean packageTestni podaci dostupni su na app/DZ_3_P1.
- Poziconiranje u testni direktorij
cd app/DZ_3_P1/- Pokretanje JAR-a
java -jar ../ttomasic20_zadaca_3/target/ttomasic20_zadaca_3-1.0.0.jar --zs DZ_3_stanice.csv --zps DZ_3_vozila.csv --zk DZ_3_kompozicije.csv --zvr DZ_3_vozni_red.csv --zod DZ_3_oznake_dana.csv| Naziv uzorka dizajna | Klase koje sudjeluju u uzorku dizajna i u kojim ulogama |
|---|---|
| Singleton | Singleton: App |
| Singleton | Singleton: Zeljeznica |
| Singleton | Singleton: SustavKarti |
| Builder | Builder: Builder ConcreteBuilder: Kompozicija.Builder Product: Kompozicija |
| Factory Method | Product: InfrastrukturniElement ConcreteProduct: Stanica, Pruga, Vozilo, Kompozicija, Vlak, Etapa Creator: CSVParser (DatotecniParsersučelje) ConcreteCreator: StaniceParser,PrugeParser, VozilaParser, KompozicijeParser, VlakoviParser, EtapeParser, OznakeDanaParser |
| Chain of Responsibility | Handler: AppKomandaHandler ConcreteHandler: CjenikHandler, InfoHandler, KartaHandler, KartaRedoHandler, KartaUndoHandler, KarteInfoHandler, KartePovijestHandler, KompozicijeHandler, KorisniciHandler, KorisnikPracenjeHandler, NoviKorisnikHandler, PrugeHandler, PrugeStatusHandler, PrugeStatusInfoHandler, StanicePrugeHandler, StaniceRelacijeHandler, VlakDetaljiHandler, VlakHandler, VlakoviDaniHandler, VlakoviHandler, VlakPracenjeHandler, VlakSimulatorHandler, VozniRedHandler |
| Composite | Component: VozniRedComponent Composite: VozniRed, Vlak, Etapa, Pruga Leaf: Pruga |
| Visitor | Visitor: VozniVisitor ConcreteVisitor: EtapeDaniVisitor, EtapeVisitor, KupacKarteVisitor, PrugaStatusInfoVisitor, SimulatorVlakaVisitor, VlakDetaljiVisitor, VlakValidatorVisitor, VlakVisitor, VozniRedVisitor ObjectStructure: VozniRedComponent Element: VozniRedComponent ConcreteElement: VozniRed, Vlak, Etapa, Pruga |
| Observer | Subject: VozniRedSubject ConcreteSubject: Vlak, Pruga Observer: KorisnikObserver ConcreteObserver: Korisnik |
| Prototype | Prototype: PrugaPrototype ConcretePrototype: Pruga |
| Mediator | ConcreteMediator: VlakoviMediator Colleague: KVColleague ConcreteColleague: Korisnik, Vlak |
| State | Contex: Pruga State: PrugaState ConcreteState: PrugaIspravnaState, PrugaKvarState, PrugaTestiranjeState, PrugaZatvorenoState |
| Strategy | Contex: SustavKarti Strategy: KupnjaStrategy ConcreteStrategy: KupnjaBlagajna, KupnjaVlak, KupnjaWeb |
| Memento | Originator: SustavKarti Memento: Karta Caretaker: EvidencijaKarti |
| Command | Invoker: SustavKarti Command: KartaCommand ConcreteCommand: KupiKartuCommand Receiver: EvidencijaKarti |

