2010-03-25 1 views
1

우리는 많은 특성과 오버라이드 된 메소드를 가진 템플릿과 같은 클래스를 가지고 있습니다. 그 클래스 유형의 많은 객체를 만들어야합니다. 개체 하나를 만든 경우 clone()을 사용하여 특정 설정으로 개체를 만들 수 있습니까? Clone 메서드를 재정의해야한다는 것을 알고 있습니다. Clone()을 사용하여 성능에 문제가 있습니까?로드가 많은 객체에서 수행하는 경우 Clone()을 사용하는 것이 좋지 않습니까?

답변

0

새 개체를 만드는 방법으로 개체를 복제하는 것이 반드시 개체를 만드는 가장 깨끗한 방법은 아닙니다. 생성자 또는 팩토리 메서드 (생성자를 호출하는)를 사용하는 것이 좋습니다.

factory 또는 빌더 패턴을 사용하는 것이 좋습니다. 또는 많은 유사한 개체의 메모리 오버 헤드가 걱정된다면 flyweight pattern을 살펴보십시오.

0

복제 자체가 나쁘지는 않으며 일반적으로 얕습니다. 당신이 패턴을 사용하고 싶다고 생각합니다. 가능하면 Prototype Pattern 이상이 솔루션입니다.

현재 수행중인 복제본은 실제로 프로토 타입을 잘라내는 쿠키입니다.

내가 보낸 링크는 DO 공장에서 가져온 것이고 코드 샘플이 있습니다.

관련 문제