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 package
Testni 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 |