우리는 많은 특성과 오버라이드 된 메소드를 가진 템플릿과 같은 클래스를 가지고 있습니다. 그 클래스 유형의 많은 객체를 만들어야합니다. 개체 하나를 만든 경우 clone()을 사용하여 특정 설정으로 개체를 만들 수 있습니까? Clone 메서드를 재정의해야한다는 것을 알고 있습니다. Clone()을 사용하여 성능에 문제가 있습니까?로드가 많은 객체에서 수행하는 경우 Clone()을 사용하는 것이 좋지 않습니까?
1
A
답변
0
새 개체를 만드는 방법으로 개체를 복제하는 것이 반드시 개체를 만드는 가장 깨끗한 방법은 아닙니다. 생성자 또는 팩토리 메서드 (생성자를 호출하는)를 사용하는 것이 좋습니다.
factory 또는 빌더 패턴을 사용하는 것이 좋습니다. 또는 많은 유사한 개체의 메모리 오버 헤드가 걱정된다면 flyweight pattern을 살펴보십시오.
0
복제 자체가 나쁘지는 않으며 일반적으로 얕습니다. 당신이 패턴을 사용하고 싶다고 생각합니다. 가능하면 Prototype Pattern 이상이 솔루션입니다.
현재 수행중인 복제본은 실제로 프로토 타입을 잘라내는 쿠키입니다.
내가 보낸 링크는 DO 공장에서 가져온 것이고 코드 샘플이 있습니다.
관련 문제
- 1. MediaScannerConnection.scanFile을 사용하는 것이 좋지 않습니까?
- 2. 은 모델에 has_and_belongs_to_many를 사용하는 것이 좋지 않습니까?
- 3. 데이터 객체에서 RESX 국제화 사용, 좋지 않습니까?
- 4. GDI + 개체를 다시 사용하는 것이 좋지 않습니까? (또는 : 두통없이 많은 중첩 된 사용하는 블록을 사용하는 방법?)
- 5. 데이터베이스 디자인에서 사용자 이름을 기본 키로 사용하는 것이 좋지 않습니까?
- 6. 페이지에 많은 CSS3 항목을 사용하는 것이 좋지 않다고 생각하십니까?
- 7. 마법의 변수를 갖는 것이 좋지 않습니까?
- 8. 왜 JSON을 XML에 포함시키는 것이 좋지 않습니까?
- 9. 개체의 "이름"을지도에 포함시키는 것이 좋지 않습니까?
- 10. .NET에서 흐름 제어를 위해 try-catch를 사용하는 것이 "좋지"않습니까?
- 11. 중첩 된 Try..catch 블록을 사용하는 것이 좋지 않습니까?
- 12. codeigniter의 뷰에서 직접 모델을 사용하는 것이 좋지 않습니까?
- 13. 이 시나리오에서 SQL Server Scalar UDF를 사용하는 것이 좋지 않습니까?
- 14. 데이터베이스 대신 정적 개체를 사용하는 것이 좋지 않습니까?
- 15. 다중 스레드 응용 프로그램에서 클래스 변수를 사용하는 것이 좋지 않습니까?
- 16. 배열에서 변수를 추출하는 것이 성능에 좋지 않습니까?
- 17. 데이터베이스에 XML을 저장하는 것이 "좋지"않습니까?
- 18. 함수를 jQuery 객체에 연결하는 것이 좋지 않습니까?
- 19. 모든보기가 하나의보기 컨트롤러에 연결되는 것이 좋지 않습니까?
- 20. 화면 스크레이퍼의 페이지를 캐시하는 것이 좋지 않습니까?
- 21. 많은 수의 속성이있는 App Engine expando 모델을 사용하는 것이 성능에 좋지 않습니까?
- 22. 왜 전역이 좋지 않습니까?
- 23. 프로그래밍 언어로 SQL을 작성하는 경우 자연 조인 또는 암시 적 열 이름을 사용하는 것이 좋지 않습니까?
- 24. 해시 된 암호 대신 암호 해시를 보내는 것이 좋지 않습니까?
- 25. 출력 버퍼링을 사용하는 것이 좋지 않다고 생각하십니까?
- 26. 중간 파일이 좋지 않습니까?
- 27. 하나의 다른 클래스에 의해서만 사용되는 클래스를 갖게하는 것이 좋지 않습니까?
- 28. 왜 #define이 좋지 않습니까?
- 29. 로드가 많은 웹 서버에 FastCGI를 사용하는 모범 사례
- 30. HTMLHelper에서 Javascript 코드 및 HTML 태그를 생성하는 것이 좋지 않습니까?