디자인 - 상태가 변경 될 때 지속되는 객체의 이벤트를 어떻게 처리합니까?

StackOverflow https://stackoverflow.com/questions/823763

  •  05-07-2019
  •  | 
  •  

문제

어쩌면 어리석은 질문일지도 모르지만 나는 신인 개발자입니다.

데이터 중심의 CRM'ish 응용 프로그램에는 여러 단계 (즉, 1-5 단계)를 통과 할 수있는 고객 유형이 있습니다.

고객이 단계를 변경하면 이벤트가 트리거되어야합니다. 예 - 고객이 2 단계에서 3 단계를 입력하면 이메일이 전송되고 일부 목록이 업데이트되고 일부 계산이 수행됩니다.

고객 변경 상태가 일부 그래픽 인터페이스를 통해 고객을 수동으로 업데이트하는 응용 프로그램 사용자의 결과 일 수 있다고 생각합니다.

그래서 궁금합니다. 고객의 위상 상태를 업데이트 할 수있는 한 가지 방법만이 있다고 주장한 다음 해당 조치가 완료 될 때마다 조치 목록이 수행되는지 확인하여이를 처리해야합니까?

내 마음 (및 시나리오)에서 이것은 관계형 데이터베이스에서 고객을 검색하고, 위상 필드를 업데이트하고, 고객을 다시 내려 놓은 다음, 특정 단계 변경에 의존하는 것으로 등록되는 모든 조치를 발사하여 항상이 조치에 반응하는 것을 의미합니다. . 그러나 나는 10.000 고객의 배치 위상 변경을 원한다면 이것이 현명 할 것이라고 확신하지 못한다.

이것에 대해 전혀 생각이 있습니까? 나는 정말로 모든 종류의 입력을 찾고 있습니다. 나는 완전히 단서가 없다고 가정합니다.

도움이 되었습니까?

해결책

나는 단일 고객 단계 변경을위한 별도의 기능, 다른 하나는 배치 변경을 위해서도 괜찮다고 생각합니다. 후자는 필요에 따라 추가 조치를 수행하거나 수행하지 않을 것입니다. 또한 추가 조치가 길고시기 적절한 위상 변경을 완료 해야하는 경우 배경 처리를 위해 전자 메일을 보내는 것과 같이보다 효율적인 방식으로 또는 조치 또는 그 일부를 흡수 할 수 있습니다. 방법.

위상 변경이 수동 위상 변경으로 인한 것이 아니라 일부, 아마도 복잡한 조건의 발생으로 인한 경우 또 다른 문제가 나타납니다. 그런 다음 비즈니스 로직 어딘가에 조건 점검을 연결해야하며 단계에 영향을 미치는 모든 업데이트 작업을 포착 할 수있을 정도로 낮습니다. 그러나 당신이 쓴 것처럼, 당신의 상황에서는 위상 변화가 수동으로 발행되기 때문에 그렇지 않습니다.

다른 팁

대부분의 경우 비즈니스 로직에서 명시 적 기능을하여 단계를 변경하는 것이 좋습니다. 이것은 단계를 바꿀 수있는 유일한 방법이어야하며, 그것은 명백합니다. "ChangecustomerPhase (고객 고객, 위상 새 통과)와 같이 모든 것이 자유롭게 변경 될 수있는 경우 변경 사항을 추적하는 것이 훨씬 간단합니다.

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