저는 객체 지향 디자인을 처음 사용합니다. 객체를 사용하여 아래에 언급 된 요구 사항을 모델링하는 방법에 대한 몇 가지 팁을 기다리고 있습니다.객체 지향 디자인 입문
요구 사항 : 프로그램은 많은 학생들이 있습니다. 프로그램이 응용 프로그램에 로그인합니다. 첫 번째 페이지에는 프로그램에 속한 모든 학생의 표가 표시됩니다 (표 열 - 성, 이름, 성, 나이, 성별 등). 이드는 링크입니다. 이드를 클릭하면 개별 학생 페이지가 표시됩니다. 이 페이지에서 개별 학생과 관련된 활동을 수행 할 수 있습니다 (예 : 편집 주소 변경 이름 등의 의견을 추가
내 솔루션 : 두 클래스
프로그램 - 하나의 프로그램 모델이 관련된 모든 활동을 수행하고 모든 프로그램 관련 DB 테이블을 캡슐화됩니다.
학생 - 하나의 학생 모델과 관련된 모든 활동을 수행하고 모든 학생이 특정 DB 테이블을 캡슐화됩니다.
지금까지 그렇게 좋았습니다.
프로그램과 관련된 모든 학생의 세부 정보를 가져 오려면 프로그램 개체에서 'fetch_student_details'이라는 메서드를 호출해야합니다.
질문은이 방법을 어디에 써야합니까? 학생 클래스 메소드 또는 프로그램 클래스 메소드 여야합니다.
나는 프로그램 클래스에서이 방법을 쓰면 어떻게 프로그램 클래스가 그것을 처리 할 것인가?
(A) 우선 학생 클래스의 인스턴스를, 여기에 각 아이디에 대한 속하는 student_ids의 목록을 확인하고 그것에서 특정 학생 관련 정보를 얻을 수 있습니다. DB : 인스턴스화 된 각 학생 객체는 정보를 가져 오기 위해 쿼리를 실행합니다. 그래서 100 명의 학생, 100 개의 질문.
또는
(B) 프로그램에 관련된 학생 ID의 목록을 가져 오기 모든 학생들이 직접 학생 정보를 가져옵니다. Db : 필요한 모든 정보를 가져 오는 단일 쿼리. 이 경우
단일 쿼리에서이 작업을 수행 할 수 있다면 꼭해야합니다. API는 효율적인 구현이 가능하도록 설계되어야합니다. –