나는이 2 개의 클래스를 가지고 있으며 누군가 내가 잘못했다고 말했다.내 도메인 객체 디자인에 무엇이 잘못되었는지 알아낼 수 없다.
class Employee {
private int employeeID;
private String employeeName;
private Seat employeeSeat;
}
이것은 내가 좌석을 검색 할 때, 나는 사람이 결정하기를 원하기 때문에 나는 또한 내 자리에 직원 속성을 추가
class Seat {
private int seatID;
private String seatCode;
private Employee occupant;
}
좌석 등급과 관계가 내 직원 클래스입니다 좌석의 현재 탑승자. 내 직원과 같은 일, 내가 그것을 검색 할 때, 나는 그 직원의 현재 자리를 결정하고 싶다. 이제 그들은 직원이 시트 속성을 갖고 있고 시트에 직원 속성이 있기 때문에 그것은 끔찍한 디자인이라고 말했다.
그게 그가 의미하는 바였던 것 같아요.하지만 제가 한 일은 내 직원 클래스에 다른 속성 프로젝트를 추가하여 직원 시트와 같은 Project 클래스를 참조하고 직원을 함께 표시하고 싶습니다. 그들의 프로젝트와 자리에서 문제가된다. –
"문제"가 아니라 복잡성과 요구 사항 간의 "상반 관계"입니다. 이것이 바로 소프트웨어 공학이 의미하는 바입니다. 당신이 끊임없이해야하는 현실적인 상충 관계. 이것은 왜 디자인이 어렵고, 당신이 학교에서 배우는 것이 아닙니다. (당신이 어떤 별의 교수님을 가지고 있지 않다면). –
그래서 EmployeeSeatProject 또는 stuff와 같이 Employee에 Seat 및 Project를 연결하는 클래스를 만들어야하는지, 아니면 employee 클래스의 속성으로 넣는 것이 더 낫지 않을지 궁금합니다. –