어제 까지 시험이라서 설계만 하고 어제 저녁 부터 구현을 시작했습니다.
memento 패턴을 이용하여 설계하였고,
추가로 UndoRedoManager를 두어 여러개의 memento를 관리하도록 했습니다.
구현을 어느정도 마친뒤에 테스트를 해보았습니다.
memento를 저장해야 하는 시점을 아직 확정하지 못해서 일단 심볼들이 캔버스에 생성되는 시점만
정하고 제대로 동작하는지 디버깅 출력문을 두었습니다.
몇개의 오류를 잡았지만 생각 못한게 있었네요..
바로바로바로 memento에 들어가는 것들이 모두 referrence 타입이라는 것입니다.ㅋ
메멘토를 만들때 저장할 것들이 reference 타입이므로 그대로 대입하면 ( var = imRefType; )
memento가 저장되는 것이 아니라 포인터만 늘어가게 되는 것이죠...
코드를 짜면서 생각해보았지만 혹시..하면서 일단 복사하지 않고 대입을 해보았는데(속도를 위해서..)
안되더군요..
일단 학교를 가야 하므로 여기까지 해야 겠습니다.