현재 CRUD 작업에 대한 실행 취소 및 알림을 지원해야하는 복잡한 웹 사이트를 디자인하고 있습니다. 실행 취소 및 알림 처리를위한 아키텍처
취소 , 나는 사용자가/수정/생성 항목을 삭제 한 다음 그는 따라서 수정 된 항목의 이전 상태를 복원, 생성 된 항목을 제거하거나 다시 가져 오는 (한 일을 취소하기로 결정할 수 있음을 의미 삭제 된 항목). 그는 작업을 수행 한 후 잠시 동안 그렇게 할 수 있습니다 (시스템이 상당히 복잡하고 사용자가 수정 사항이 잘못되었음을 알리는 데 약간의 시간이 걸릴 수 있으므로 제한 시간은 2 분입니다).알림은 항목이 생성/수정/삭제 될 때 해당 항목에 관심이있는 다른 사용자에게 다음 번에 새 페이지를로드 할 때 사이트 알림을받으며 요청할 경우 전자 메일 또는 SMS 알림을 수신합니다.
실행 취소는 간단합니다. 실행 취소에는 수정 된 항목이나 삭제 된 항목의 대부분을 중심으로 실행 취소 정보를 유지하는 것이 포함되며 알림은 알림 개체를 적절한 테이블로 밀어 넣고 전자 메일/SMS를 보내는 것처럼 간단합니다 즉석에서.
둘 다 작동하게하면 실행 취소가 불가능해질 때까지 알림이 정지 상태로 유지되어야하므로 정상적으로 작동하도록 설계해야합니다.
이러한 시스템을 구축 할 때 패턴, 모범 사례 또는 함정은 피할 수 있습니까?
실제로 이것은 어떻게 독립적으로 처리 할 수 있습니까? 나는 동시에 둘 다를 할 수있는 특정 패턴을 찾고있다. –
@Victor - 어떻게 SRP를 위반하지 않고? http://en.wikipedia.org/wiki/Single_responsibility_principle – TrueWill
사용자 요구 사항에 따라 알림은 실행 취소 인식이어야하며 반대의 경우도 마찬가지입니다. SRP를 유지하는 것은 좋은 일이지만, 나는 사용자 경험을 희생하는 것보다 SRP를 희생하려고합니다. 가능한 한 SRP를 손상 시켜서이 작업을 수행 할 방법을 묻고 있습니다. –