저는 의사가 환자를 들여다보고 환자 Xrays 및 그 Xray에 속한 이미지를 볼 수있는 의사를위한 저널 시스템을 만들고 있습니다.상속에 관한 일반적인 질문입니다.
- 환자가 한 명 이상일 수 있습니다.
- 각 환자마다 하나 이상의 Xray가있을 수 있습니다.
- 각 Xray에 대해 하나 이상의 XrayImage가있을 수 있습니다. 나는 데
http://i44.tinypic.com/w9w37d.png
문제는 내가 항상 정보가 아닌 환자를위한 환자를 물어 결국 것으로 보인다이다 : 여기
클래스 레이아웃입니다. Xray 또는 Patient.Xray.XrayImage. 이 올바른지? 예를 들어
:
환자는 데이터베이스에서 데이터를 검색하고 환자의 모든 필드, 지금까지 너무 좋아를 설정하는 getPatient 방법이있다.
예를 들어이 환자에게 속한 데이터베이스에 세 개의 Xrays가 있고 환자의 getXrayIDs라는 메서드가 있으므로 Patient.Xray의 인스턴스를 3 개 만들고 싶습니다. 그러면 해당 환자에게 속한 모든 XrayID가 검색되고 Patient의 목록에 ID가 저장되며 이러한 ID는 UI에 드롭 다운 상자에 표시됩니다. 드롭 다운 상자에서 ID를 변경하면 Patient.getXray (int XrayID)라는 또 다른 메서드가 호출되고 Xray의 새 인스턴스가 만들어지고 UI에 정보가 표시됩니다.
XrayImages는 getXrayImageIDs라는 메서드가 있다는 점을 제외하면 거의 동일하게 작동합니다.
문제는 클래스 개체 (Patient, Xray, XrayImage)에 대해 작업하고 싶지만 동시에 데이터베이스에서 필요한 것보다 많은 데이터를 검색하고 싶지 않기 때문에 좋은 접근 방법입니까?
적절한 OOP로 프로그래밍하지 않고 데이터베이스에서 검색 한 데이터의 양, 적절한 OOP의 프로그램 및 나중에 데이터베이스 성능을 수정해야한다는 것을 무시해야합니다.
그래서 그 대신 나는이 같은 프로그램을 작성하여야합니다 :
Patient patient = new Patient()
patient.getXrays() // This one should create a new Xray instance
// and Patient should have references to these instances.
patient.xray[i].getXrayImages // This one should create a new XrayImage
//instance and Xray should have references to these instances.
또 다른 생각 : 드롭 다운 상자 값 (이 경우로) 변경되는이 X 선 및 XrayImage 클래스에서 데이터를 검색하지에서한다 데이터베이스 Xray 및 XrayImage 클래스에 데이터베이스의 데이터를 한 번로드하면 사용자가 정보를 갖게되고 XrayID가 변경 될 때마다 정보를 검색하는 대신 해당 객체를 작동하게됩니까?
"드롭 다운 상자 값을 변경할 때 ... 데이터베이스에서 가져온 것이 아니라 클래스에서 데이터를 가져와야합니다."- 응용 프로그램을 설계하려고 할 때 아키텍처 수준의 위험한 접근 방식이됩니다 (즉, 이 잠재적으로 주제를 벗어난 질문이 어떤 것인가). –
나는 당신의 마지막 생각과 함께 갈 것입니다. 데이터베이스를 4 번 여행하는 대신, 한 번만 여행하고 그 환자와 관련된 모든 것을 가져옵니다. –
또 하나의 참고 사항 : 귀하의 제목은 질문의 본문에 절대적으로 상속이 없으므로 게시물 본문과 연결되지 않습니다. –