문제

나는 디자인 문제를 통해 생각하고 커뮤니티가 나를 올바른 방향으로 가리킬 수 있다고 생각했다. 저는 회사를위한 직원 관리 시스템을 모델링하고 저에게 웅크 리고있는 디자인의 질문에 왔습니다.

여기 시나리오가 있습니다.

직원 클래스가 사무실 객체 목록 (직원이 작동하고 일한 곳이 일한 곳)이있는 직원 클래스가 있습니다. 나는 사무실간에 직원을 이전 할 수있는 능력을 창출 할 필요가 있습니다. 전송 요청 (승인, 리뷰)에 대한 여분의 오버 헤드가 있습니다 (승인, 리뷰)이 끝나면 내 전송 개체가 직원 객체 목록을 변경하게되어야합니다.

나는 C #, EF4 및 POCO를 내 객체에 사용하고 있습니다. 전송 객체를 모델링하는 방법을 모르겠습니다. 그것은 잠시 동안 지속될 것이며 며칠 동안 완료되지 않을 수 있습니다 (승인은 허용되기 전에 완료해야 함). 전송 객체는 직원을 수정하고 새로운 사무실을 수정할 수 있도록 알아야합니다. 나는 직원들이 이전 물체의 자녀를 만들고 거기에서 그것을 수정하는 것이 나쁜 디자인이라고 느낍니다. 이 요구 사항을 모델링하는 방법에 대한 조언이 있는지 누군가가 있는지 궁금합니다.

도움이 되었습니까?

해결책

전송을 완전히 분리 된 객체로 취급 할 수 있습니다.

최소한 다음 데이터가 포함됩니다. 1. 직원의 고유 식별자. 2. 사무실에서 이전의 고유 한 식별자. 3. 사무실로 이전의 고유 한 식별자입니다. 4. 전송 진행을위한 상태 표시기.

이것은 다른 객체가 포함되지 않은 가벼운 오브젝트입니다. 이는 고유 식별자로 참조합니다.전송이 처리되면 직원 및 사무실로 전송이 유효 한 다음 직원 사무실 수집을 업데이트하십시오.

이 솔루션의 유일한 전제 조건은 이전 이전에 직원과 사무실이 존재해야한다는 것입니다.

다른 팁

전송과 같은 소리가 객체가 아니며 워크 플로우입니다.Windows Workflow Foundation을보십시오. 여기 좋은 Quickstart 예제.

이전 객체의 책임에 대해 생각하는 경우 직원의 다른 사무실의 이전을 관리하는 것입니다.나는 직원과 사무실과 별도로 이송되는 것으로이를 디자인하지만, 각각에 대한 참조가있는 것입니다.전송 객체는 아마도 승인 상태 값의 열거 형을 가질 것이며 종료 상태 (취소 또는 최종 승인)에 도달하면 이전 객체가 직원을 새 사무실과 연결하고 완료된 것으로 표시하는 작업을 수행 할 수 있습니다.이전 객체가 다른 객체에 대한 참조를 갖는 것은 나쁜 디자인이 아닙니다.이 경우 송금 및 직원 (및 사무실) 간의 관계는 "사용"관계를 "

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top