인프런 커뮤니티 질문&답변

Rep님의 프로필 이미지
Rep

작성한 질문수

코딩으로 학습하는 GoF의 디자인 패턴

메멘토 패턴 3부 - 장점과 단점

메멘토 패턴 질문드립니다.

해결된 질문

작성

·

271

1

안녕하세요 백기선님:)

 

Game 의 private field 가 늘어남에 따라 save() 와 restore() 코드량이 많아지는 것은 피할 수 없는건가요?

 

 

Game 에 Client 가 사용하지 않지만 꼭 필요한 정보인 field 가 10개 더 있다고 가정하였을 때 생성자를 통해서 12개의 정보를 하나하나 보내줘야 하는걸까요?

GameSave 에 Game 을 넘겨줄 수도 있지만 이렇게 되면 의미가 없는 것 같아 궁금하여 질문드립니다!

답변 1

2

백기선님의 프로필 이미지
백기선
지식공유자

안녕하세요. 좋은 질문 감사합니다.

그렇죠. 그건 해당 프라이빗 필드 정보를 모두 저장하고 복원해야 한다면 피하기 어렵겠습니다. 그렇게 parameter 가 많을 경우에는 GameSave의 생성자로 Game을 넘겨줘도 괜찮습니다. Game에 들어있는 정보를 GameSave의 private 필드로 복사해놓기만 하면 되니까요. 중요한건 GameSave를 불변객체로 유지하는 것이니까 그것만 지킨다면 생성자 매개변수를 줄일 수 있으니 그 방법도 좋은 방법입니다.

Rep님의 프로필 이미지
Rep

작성한 질문수

질문하기