프로젝트

일반

사용자정보

커맨트 패턴의 사용 예 2: 요청 로깅

Prof. Jong Min Lee이(가) 9일 전에 추가함

일부 애플리케이션은 모든 동작을 기록하고, 시스템이 충돌한 후에도 해당 동작을 다시 수행할 수 있어야 합니다. 이러한 경우 커맨드 패턴(Command Pattern)이 유용하게 사용됩니다.

Java에서는 store()load() 같은 메서드를 사용하여 커맨드를 직렬화(Serialization)하고 디스크에 저장할 수 있습니다.

이렇게 하면 커맨드의 이력(history)을 디스크에 저장하고, 나중에 다시 불러와 실행할 수 있습니다.

예를 들어, 스프레드시트 애플리케이션에서는 사용자의 모든 작업을 커맨드로 기록해두면, 시스템이 중단되었을 때 복구하거나 변경 사항을 추적하는 데 도움이 됩니다.

하지만 모든 상황에서 로깅이 적합한 것은 아닙니다. 예를 들어:

  • 리모컨 애플리케이션에서는 커맨드를 저장할 필요가 없을 수 있습니다.
  • 대규모 데이터 구조를 사용하는 애플리케이션에서는 커맨드 저장이 비효율적일 수 있습니다.

이러한 기술은 트랜잭션 단위로 여러 작업을 묶어 처리하는 방식으로 확장할 수도 있습니다.