www.dofactory.com 및 www.blackwasp.com에 따르면 가상 프록시를 사용하여 복잡한 개체의 단순화 된 버전을 제공합니다. 객체의 세부 사항이 필요할 때만 주 객체가 실제로 채워지고 게으른 로딩 형식을 제공합니다. lazy loading을 사용할 때마다 가상 프록시라고 부를 수 있습니까? 값 비싼 물건을 사용할 때를 제외하고 우리가 사용해야하는 다른 이유가 있습니까? 나는 그것을 생생하게 본다. 누군가 그것에 대해 좋은 설명을 해줄 수 있습니까?가상 프록시 란 무엇입니까?
답변
나는 그것을 할 필요가 전혀 느껴 본 적이 없지만 수 있습니다lazily initialize expensive object graphs 가상 프록시를 사용하십시오. 그러나 매우 드물게이 작업을 수행해야합니다.
이것은 게으른로드를 사용한 적이 없다는 것을 의미합니까? 데이터 맵퍼에서 항상 완벽한 개체 그래프를 얻을 수 있습니다 (필요한 데이터 만 사용). –
지연로드는 N + 1 문제로 연결되므로 피할 수 있습니다. 당신이 가져 오는 것을 명시하는 것이 더 낳습니다. –
나를 위해, 때때로 어떤 데이터베이스 테이블 조인을 만든 다음 다른 선택/조인과 병합 (그리고 나서 개체 채우기)하는 것이 더 빠르거나 더 쉽습니다. 이와 같은 경우에 프록시가 구현되면 두 번째 쿼리 병합이 피할 수 있습니다. 프록시가 이미 분리 된 쿼리에서 수행되는 관계이기 때문에 두 번째 쿼리 병합을 피할 수 있습니다. 그 시나리오에 대해 생각 해본 적이 있습니까? 이 경우 쿼리 분리는 성능 및 응답 시간으로 인한 것이기 때문에 아무런 문제가 없습니다. @PeterLawrey가 상기 (quest.comment)와 같은 쿼리를 사용하기 전에 테스트하는 방법으로도 가치가 있습니다. –
- 1. POCO 프록시 란 무엇입니까?
- 2. 프록시 클래스 란 무엇입니까
- 3. 가상 인덱스 란 무엇입니까?
- 4. 가상 어댑터 란 무엇입니까
- 5. 프록시 웹 서비스 란 무엇입니까?
- 6. 가상 디렉터리 란 무엇입니까? 그것의 용도는 무엇입니까?
- 7. Mina - HTTP 프록시 - AbstractHttpLogicHandler 란 무엇입니까?
- 8. C++에서 프록시 클래스 란 무엇입니까?
- 9. C++의 의사 가상 함수 란 무엇입니까?
- 10. 앵무새 란 정확히 무엇입니까?
- 11. webdev.webservice 프로세스 란 무엇입니까?
- 12. Windows 서비스를 설치하고 테스트하기에 좋은 프록시 란 무엇입니까?
- 13. Android 가상 장치 에뮬레이터 SD 카드 란 무엇입니까?
- 14. 실제 주소 및 가상 주소 란 무엇입니까? 어떻게 작동합니까?
- 15. JOYINFOEX :: dwButtonNumber 란 무엇입니까?
- 16. 스레드 란 무엇입니까 (스레드 란 무엇입니까?)?
- 17. 역방향 프록시 란 무엇이며 왜 Node.JS와 함께 사용해야합니까?
- 18. CGI 란 무엇이며 CGI 스크립트 란 무엇입니까?
- 19. 플렉스의 프록시 서버 기능
- 20. 개발 프레임 워크 란 무엇입니까? IDE 란 무엇입니까?
- 21. 버퍼 란 무엇입니까? 버퍼링 된 읽기 및 쓰기 란 무엇입니까?
- 22. DataContractTranslator 란 무엇입니까?
- 23. "분리 뮤텍스"란 무엇입니까?
- 24. 프로그래밍 언어 란 무엇입니까?
- 25. CSS - @page 란 무엇입니까?
- 26. Java의 직렬화 란 무엇입니까?
- 27. "기호 경고"란 무엇입니까?
- 28. 그림자 메모리 란 무엇입니까?
- 29. PHPSESSID 란 무엇입니까?
- 30. 정확히 PLINQ 란 무엇입니까?
저는 가상 프록시를 잘 사용하는 것이 매우 드뭅니다. 대부분의 프록시는 이러한 전략이 추가하는 복잡성 때문에 부분적으로 가상 또는 캐싱이 아닙니다. –
@ PeterLawrey 데이터 매퍼 및 지연로드를 구현 한 적이 있습니까? 데이터 맵퍼를 사용하면 실제로 게으른로드를 사용하지 않습니까? –
가상 프록시를 사용하거나 사용하지 않고 구현했습니다. 요즘 프록시 대신 프로덕션 코드를 위해 생성 된 코드를 사용하는 경향이 있습니다. 반대로 나는 테스트를 위해 가상 프록시 (라이브러리 조롱을 통해)를 사용하는 경향이있다. 가상 프록시는 덜 효과적입니다. –