Szukam stworzyć aplikację testową, która może sprawdzić różne informacje o locie od operatora linii lotniczej Mam problemy z pojęciem klas i metod i które należy utworzyć. Mój obecny proces myślowy wygląda następująco: Dane są pobierane ze strony internetowej, ze względu na rozmiar danych, chcę tylko raz pobrać dane. Mój obecny myślenie jest:Które klasy Metody chcesz utworzyć?
Klasa
BritishAirwaysFlightData()
Konstruktor
BritishAirwaysFlightData // Used to download the BA Flight database and store in the object (Assumging his is only small i.e. 500kb)
Metody
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
Mam nadzieję, że masz ogólne pojęcie o tym, co staram się realizować, ale nie jestem pewien, czy to właściwa droga. Zasadniczo utworzę obiekt z klasy, konstruktor automatycznie pobierze dane i zapisze w odpowiedniej macierzy obiektów.
programu głównego będzie stworzony, aby umożliwić użytkownikowi kwerendy informacje o locie itp
Byłoby skutecznie kwerendy tego obiektu z programu głównego, aby znaleźć konkretne informacje na temat lotów, dat itp
byłoby to być najlepszym sposobem na wdrożenie tego rodzaju funkcjonalności mając na uwadze, że nie chcę mieć bezpośredniego dostępu do danych i mam ograniczoną przepustowość, więc muszę wdrożyć jakąś lokalną wersję buforowaną?
Jestem bardziej zainteresowany faktycznym składem klasy/konstruktora/metod w przeciwieństwie do rzeczywistej funkcjonalności każdej metody i parametrów wywołania.
Nadzieja to sens, wszelkie wskazówki będą mile widziane, a także wszelkie strony referencyjne z dużą ilością przykładów ze świata rzeczywistego, takich jak ten, który mógłby poprawić moją wstępną analizę problemów,
Dzięki,
Utworzę klasę "Entity", która będzie reprezentować każdy lot, a następnie klasę "Service", która pobierze dane i zwróci listę twoich jednostek lotu. Następnie możesz przechowywać je lokalnie, może używając ORM jak Hibernate do DB lub po prostu konwertując do JSON lub XML i przechowując plik lokalnie. – CodeChimp
Posiadanie klasy o nazwie po zbiorze danych jest niepoprawne. "FlightData" jest rozsądnym wyborem. "FlightData.Airline" to rozsądne zagnieżdżone wyliczenie. (Naturalnie "BritishAirways" jest członkiem zestawu enum.) "FlightData.Źródło "lub" FlightDataSource "(wyliczanie jako dane wejściowe) jest rozsądną klasą dostępu do danych. – alphazero
Możesz podzielić pracę. Masz jeden proces, który okresowo pobiera dane ze strony internetowej i przekształca je w swój własny lokalny magazyn danych, a następnie łączy procesy klienta i odczyt z tego lokalnego magazynu danych. Twój klient nie musi się wtedy martwić o pobieranie z obcego systemu. I utrzymujesz pamięć podręczną danych po ponownym uruchomieniu procesu JVM. – Charlie