2014-07-14 5 views
0

제목만큼이나 복잡하지는 않습니다. 회사의 두 부서 (판매 및 제조)를 상상해보십시오. Sales의 ERP 소프트웨어의 데이터가 계약을 나타낼 수 있지만 Manufacture는 이러한 계약에 의해 설정된 생산을 처리해야합니다 (예 : 1,000 펜/월 생산). 여기에서 도전 과제는 영업 시간이 업무 시간에 계약을 업데이트 할 수 있어야하지만 하루가 끝날 때까지 생산을 망칠 필요가 없다는 것입니다. 즉, 제조의 경우 계약 데이터가 업데이트되기 전에 계약 데이터가 이전 데이터로 표시되어야합니다. Sales의 경우 계약이 새로운 업데이트 된 계약으로 표시되어야합니다. 제조 업체는 다음 날에만 업데이트를 "확인"해야합니다.ERP : 특정 시간 동안 두 번째 부서의 이전 데이터를 유지하면서 부서 데이터를 업데이트하는 디자인 패턴이 있습니까?

이것은 Java ERP 응용 프로그램입니다. 모범 사례 또는 디자인 패턴을 사용하여 이러한 상황을 어떻게 처리 할 수 ​​있습니까?

+0

큐에 변경 사항을 배치 한 다음 하루가 끝날 때 큐를 프로덕션으로 이동하십시오. – TheBetaProgrammer

+0

판매가 "생산에 뒤죽박죽"되는 경향이 있다는 암시가 ... 너무 정확합니다. – ajb

+0

TheBetaProgrammer 제안에 감사드립니다. 나는 당신의 생각이 효과가 있다고 생각하지만 또한 몇 가지 한계와 위험을 안다. 큐를 사용하면 Sales에서 변경 내용을 참조해야하는 경우와 같이 업데이트에서 데이터를 쉽게 검색 할 수 없습니다. 대기열이 데이터베이스로 플러시 될 때 위험이 나타납니다. 이 작업으로 인해 데이터 불일치 문제가 발생할 수 있습니다. – PDuarte

답변

0

나에게 모델 - 뷰 컨트롤러 패턴처럼 들립니다. 나는 당신이 실제 데이터를 저장하기 위해 수업을 작성하고 그 데이터를 판매 및 제조 수업에 제공하는 것이 가장 좋을 것이라고 생각합니다.

그러면 Sales 클래스가 계약을 업데이트하려고 할 때마다 게시 된 영업 시간으로 내부적으로 레이블이 지정됩니다. 그런 다음 Manufacture 클래스가 계약 정보를 얻기 원할 때마다 해당 영업일 내에 게시 된 모든 내용이 무시되고 반환되지 않습니다.

어떻게하면 좋을까요? TheBetaProgrammer의 생각은 훌륭하게 작동하지만, 부서별로 다른 가시성을 원하는 방식에 따라 복잡합니다. 계약 및 가시성 사용 권한을 저장하는 클래스를 만들고 데이터가 요청되면 요청자가 해당 버전을 반환하기 전에 해당 버전을 볼 수 있는지 확인하십시오.

+0

그게 좋은 제안이에요. 게시일 및 만료일을 사용하는 것이 최선의 방법이라고 생각합니다. 코드는 명확하게 남아 있으며 게시 업데이트를 처리 할 필요가 없어 일관성없는 데이터로 쉽게 이어질 수 있습니다. 고마워, 조나단. – PDuarte