저는 초보 프로그래머입니다. 저는 OO 디자인에 대한 제 생각이 돈이든 벗어나려고하는지보고 싶습니다.객체 지향 프로젝트 클래스 구조
나는 내가 놀고있는 기본적인 안드로이드 애플 리케이션을위한 데이터를 제어하는 3 개의 클래스가 있습니다. FishingTrip - 각 인스턴스 (놀랍게도)는 낚시 여행을 나타냅니다. Fish - 잡힌 물고기를 나타내는 각 인스턴스와 DatabaseHelper - SQLite 데이터베이스에 데이터 삽입을 제어합니다.
이것은 매우 간단한 프로그램이므로 모든 안드로이드 활동 내에서 DatabaseHelper를 사용하여 모든 데이터 입력 및 출력을 구현할 수 있습니다. 그러나 나는 이것이 좋은 OOP가 아니다는 느낌을 갖습니다.
다른 대안은 FishHand 클래스가 DatabaseHelper를 통해 데이터베이스에 삽입하는 메서드를 호출하는 입력 인스턴스 변수와 인스턴스 변수를 할당하여 Fish 개체를 인스턴스화 할 수있는 입력 변수를 사용하는 생성자를 갖는 것입니다. 데이터베이스, 즉 액세스하는 각 물고기가 낚시 여행에 잡힌대로 내가 설정, 이제 방법의 시리즈와 FishingTrip 클래스를
public Fish(String species, int size){
this.species = species;
this.size = size;
}
public Fish(DatabaseHelper db, int tripID, int fishID){
//getFish() is a query inside the DatabaseHelper class
//that returns the row for one fish from one Fishing Trip
Cursor c = db.getFish(tripID,fishID);
this.species = c.getString(0);
this.size = Integer.parseInt(c.getString(1));
을해야, 다음 물고기는 그 관계를 적용 할 FishingTrip을 확장했다?
DatabaseHelper 클래스를 사용하여 안드로이드 액티비티에서 데이터베이스 트랜잭션을 구현하면 작업이 완료되지만 더 큰 프로그램을 개발하려고하면 다른 방법으로 더 좋은 방법이 될 것이라고 생각합니다.
(참고 : 캐치 간의 거리 또는 캐치 사이의 시간과 같은 Fish/FishingTrip 개체 간의 분석을 수행 할 수 있도록 좌표와 같은 다른 데이터 수집을 구현합니다.
짧은 이야기 짧게 -이 프로젝트를 구조화하기위한 올바른 프레임인가?
감사합니다.
OOP는 도구가 아니라 목표입니다. 어쨌든 [엔터프라이즈 애플리케이션 아키텍처 패턴] (http://www.amazon.com/dp/0321127420)을 읽어 보시기 바랍니다. –