Ich bin auf der Suche nach einer Testanwendung, die verschiedene Fluginformationen von einem Airline-Anbieter überprüfen kann Ich kämpfe mit dem Konzept der Klassen und Methoden und welche zu erstellen. Mein aktueller Denkprozess ist wie folgt: Die Daten werden von einer Website heruntergeladen, aufgrund der Größe der Daten möchte ich nur einmal die Daten herunterladen. Mein aktuelles Denken ist:Welche Klassen Methoden zu erstellen?
Klasse
BritishAirwaysFlightData()
Constructor
BritishAirwaysFlightData // Used to download the BA Flight database and store in the object (Assumging his is only small i.e. 500kb)
Methoden
getStartDate(String source_airport, String dest_airport) // Takes source and destination airport and return date when flights start
getEndDate(String source_airport, String dest_airport) // Takes source and destination airport and return date when flights finish
getDestAirports(String source_airport) // Takes source airport name and returns a list of destinations
getSourceAirports(String dest_airport) // Takes source airport name and returns a list of sources
getNumofDestinations() // Returns total number of destinations
Hoffentlich erhalten Sie die allgemeine Vorstellung von dem, was ich zu implementieren bin versucht, aber ich bin mir nicht sicher, ob es der richtige Weg ist. Ich würde im Grunde ein Objekt aus der Klasse erstellen, der Konstruktor würde dann die Daten automatisch herunterladen und in einem geeigneten Objektarray speichern.
würde ein Hauptprogramm erstellt werden, damit ein Benutzer Fluginfos usw.
Es würde diese Aufgabe effektiv Abfrage aus dem Hauptprogramm abfragen spezifische Informationen über Flüge, Termine etc.
würden es finden Wie kann ich diese Art von Funktionalität am besten implementieren? Ich möchte nicht direkt auf die Daten zugreifen und habe eine eingeschränkte Bandbreite. Implementieren Sie daher eine Art lokal gespeicherte Version.
Ich bin mehr mit dem tatsächlichen Make-up der Klasse/Konstruktor/Methoden im Gegensatz zu der tatsächlichen Funktionalität der einzelnen Methoden und Aufruf Parameter betroffen.
Hoffnung das macht Sinn, alle Hinweise sehr geschätzt werden würde und auch keine Referenzseiten mit vielen realen Welt Beispiele wie diese, die meine erste Analyse der Probleme verbessern könnten,
Danke,
Ich würde eine "Entity" -Klasse erstellen, um jeden Flug darzustellen, dann eine "Service" -Klasse, um die Daten herunterzuladen und eine Liste Ihrer Flugeinheiten zurückzugeben. Dann können Sie diese lokal speichern, vielleicht mit einem ORM wie Hibernate zu einer DB oder einfach zu JSON oder XML konvertieren und die Datei lokal speichern. – CodeChimp
Eine nach dem Datensatz benannte Klasse ist falsch. 'FlightData' ist eine sinnvolle Wahl. 'FlightData.Airline' ist eine sinnvolle verschachtelte Enumeration. (Natürlich ist 'BritishAirways' ein Mitglied des Enum-Sets.) 'FlightData.Source 'oder' FlightDataSource '(die Enumeration als Eingabe verwenden) ist eine sinnvolle Datenzugriffsklasse. – alphazero
Sie könnten die Arbeit aufteilen. Haben Sie einen Prozess, der regelmäßig die Daten von der Website herunterlädt und sie in Ihren eigenen lokalen Datenspeicher umwandelt, dann lassen sich Ihre Client-Prozesse mit diesem lokalen Datenspeicher verbinden und von diesem lesen. Ihr Client muss sich dann nicht um das Herunterladen aus dem fremden System kümmern. Und Sie verwalten einen Cache der Daten, wenn Ihr JVM-Prozess neu gestartet wird. – Charlie