You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
아이템 90. 직렬화된 인스턴스 대신 직렬화 프록시 사용을 검토하라
문제점
버그와 보안 문제가 일어날 가능성이 커짐
해결책
직렬화 프록시 패턴 (serialization proxy pattern)
프록시 패턴 vs 방어적 복사
직렬화 프록시 패턴이 readObject 에서의 방어적 복사보다 강력한 경우
EX) EnumSet (#91)
EnumSet 직렬화 프록시 패턴
직렬화 프록시 패턴의 한계
1. 클라이언트가 멋대로 확장할 수 있는 클래스에는 적용할 수 없음
2. 객체 그래프에 순환이 있는 클래스에도 적용할 수 없음
직렬화 프록시 패턴이 주는 대가
직렬화 프록시 패턴은 강력함과 안정성을 주지만 그만한 대가가 따름
정리
제 3자가 확장할 수 없는 클래스라면 가능한 한 직렬화 프록시 패턴을 사용하자!
Beta Was this translation helpful? Give feedback.
All reactions