Skip to content

세션 15: 커맨드 합성과 병합 (Compose and Coalesce) #29

@nninnnin

Description

@nninnnin

먼저 최적화가 필요한 테스트 환경을 만들기 위해..

  • 드래그하면 SetTransform으로 엔티티 이동 가능
    • 클릭 상태를 표시
    • 클릭 상태에서 드래그로 이동 가능

여러번의 중복된 커맨드를 커맨드 합성으로 최적화..

  • HistoryManager 에서 execute 호출 시 직전 커맨드와 비교
  • 타입-대상 엔티티가 같으면 병합 수행
  • 병합 규칙은 단순히 '마지막 상태로 덮어쓰기' 로 시작
  • 병합이 없는 경우에는 새 엔트리 push
  • 테스트: 같은 엔티티에 3번 연속 SetTransform -> undo 1번으로 되돌려짐
  • 테스트: 다른 엔티티로 바뀌면 병합 되지 않음

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions