항공사 제공 업체의 다양한 항공편 정보를 확인할 수있는 테스트 응용 프로그램을 만들려고합니다. 클래스 및 메서드의 개념과 어떤 것을 만들지 고민하고 있습니다. 내 생각은 다음과 같습니다 : 데이터가 웹 사이트에서 다운로드되었습니다. 데이터 크기 때문에 데이터를 한 번만 다운로드하려고합니다. 나의 현재의 생각은 다음과 같습니다어떤 클래스 메소드를 만들까요?
클래스
BritishAirwaysFlightData()
생성자
BritishAirwaysFlightData // Used to download the BA Flight database and store in the object (Assumging his is only small i.e. 500kb)
방법
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
바라건대, 당신은 내가 구현하기 위해 노력하고있어의 일반적인 생각을, 하지만 나는 그것이 올바른지 확실하지 않습니다. 기본적으로 클래스에서 객체를 생성하고, 생성자는 자동으로 데이터를 다운로드하고 적절한 객체 배열에 저장합니다.
메인 프로그램은 사용자가 항공편, 날짜 등
겠습니까이 문제와 관련된 정보를 찾기 위해 효과적으로 메인 프로그램에서이 개체를 조회 할
비행 정보 등을 조회 할 수 있도록하기 위해 만든 것 데이터를 직접 액세스하지 않으려 고 제한된 대역폭을 가지므로 어떤 종류의 로컬 캐시 된 버전을 구현해야 할 필요가 있다는 것을 염두에 두어 이러한 유형의 기능을 구현하는 가장 좋은 방법이 될까요?
각 메소드의 실제 기능과 매개 변수를 호출하는 대신 클래스/생성자/메소드의 실제 구성에 더 관심이 있습니다.
희망이, 어떤 포인터가 많이 감사 문제의 나의 초기 분석을 향상시킬 수있는이 같은 현실 세계의 예를 많이도 모든 참조 사이트 될 것이다
감사합니다,
각 비행을 나타내는 "Entity"클래스를 만들고 데이터를 다운로드하고 비행 엔티티의 목록을 반환하는 "Service"클래스를 만듭니다. 그런 다음 로컬로 저장할 수 있습니다. 아마도 Hibernate와 같은 일부 ORM을 사용하여 DB에 저장하거나 단순히 JSON 또는 XML로 변환하여 파일을 로컬에 저장할 수 있습니다. – CodeChimp
데이터 집합의 이름을 가진 클래스의 이름이 잘못되었습니다. 'FlightData'는 현명한 선택입니다. 'FlightData.Airline'은 합리적인 중첩 열거 형입니다. (당연히 'BritishAirways'는 열거 집합의 멤버입니다.) 'FlightData.Source '또는'FlightDataSource '(enum을 입력으로 사용)는 합리적인 데이터 액세스 클래스입니다. – alphazero
작업을 나눌 수 있습니다. 웹 사이트에서 데이터를 주기적으로 다운로드하고이를 자신의 로컬 데이터 저장소로 변환하는 프로세스를 한 번 가지면 클라이언트 프로세스가 해당 로컬 데이터 저장소에 연결하고 해당 로컬 데이터 저장소에서 읽을 수 있습니다. 그러면 고객은 외국 시스템에서 다운로드하는 것에 관심을 가질 필요가 없습니다. 그리고 JVM 프로세스가 다시 시작될 때 데이터 캐시를 유지 관리합니다. – Charlie