프로토타입 패턴
객체 생성 비용이 크지만, 동일한 클래스 기반으로 생성된 차이가 그리 크지 않은 객체를 생성할 때, 리소스 절약을 위해 기존 객체인 프로토타입을 사용하여 복사를 통해 새 객체를 생성한다. 다음과 같은 방식을 프로토타입 패턴이라고 한다.
- 객체 생성 비용이 큰 활동이란 - 메모링 할당 같은 활동이 아닌 정렬, Hash 계산, Database, File System 접근 등의 활동을 말한다.
구현
- 깊은 복사를 통해 프로토타입인 인스턴스와 같은 새로운 인스턴스를 만들어내야한다.
- 복사할 객체에 남은 참조 객체가 없고, 기본 데이터 유형의 데이터만 남을 때까지 참조 객체를 재귀적으로 복사하는 것
- 객체를 직렬화한 다음 새 객체로 역 직렬화 하는 방법
- 얕은 복사를 한다음, 업데이트가 필요한 참조 객체만을 새 객체로 만듦