클로저에 프록시 대신 Reify를 사용해야하는 이유는 무엇입니까?클로저에 프록시 대신 Reify를 사용해야하는 이유는 무엇입니까?
35
A
답변
45
reify
의 메서드 본문은 어휘 클로저이며 주변 로컬 범위를 참조 할 수 있습니다. 점에서 proxy
에서 reify
다릅니다 :
- 만 프로토콜이나 인터페이스 지원, 구체적인 슈퍼 클래스.
- 메소드 본문은 외부 fn이 아닌 결과 클래스의 참 메소드입니다.
- 인스턴스에서 메소드 호출은 직접적이며 맵 참조를 사용하지 않습니다.
- 메소드 맵에서 메소드의 동적 스와핑을 지원하지 않습니다.
결과는 구성 및 호출 모두에서 프록시보다 성능이 좋습니다. 제한 조건이 엄격하지 않은 모든 경우에 reify
은 proxy
보다 바람직합니다.
출처 : 당신이 기본 클래스 메서드를 재정의해야하지 않는 한 번, proxy
을 사용 http://clojure.org/datatypes
10
사용 reify
.
관련 문제
- 1. .inject (0) 대신 .inject를 사용해야하는 이유는 무엇입니까?
- 2. Unity를 사용해야하는 이유는 무엇입니까?
- 3. 알림을 사용해야하는 이유는 무엇입니까?
- 4. WinDbg를 사용해야하는 이유는 무엇입니까?
- 5. 글로벌 리소스를 사용해야하는 이유는 무엇입니까?
- 6. MySQL : VARCHAR (255) 대신 VARCHAR (20)을 사용해야하는 이유는 무엇입니까?
- 7. SVN 바인딩에서 'svn : //'대신 로컬 경로를 사용해야하는 이유는 무엇입니까?
- 8. PHP SOAP 대신 NuSOAP을 사용해야하는 이유는 무엇입니까? 어떤 혜택?
- 9. SqlConnection 또는 OracleConnection 대신 DbConnection을 사용해야하는 이유는 무엇입니까?
- 10. 클로저에 +를 바인딩 할 수없는 이유는 무엇입니까?
- 11. HTML에서 XFN을 사용해야하는 이유는 무엇입니까?
- 12. l18n에 도메인을 사용해야하는 이유는 무엇입니까?
- 13. "PIMPL"관용구를 사용해야하는 이유는 무엇입니까?
- 14. "apply"를 사용해야하는 이유는 무엇입니까?
- 15. 엔티티 관리자를 사용해야하는 이유는 무엇입니까?
- 16. JSP/서블릿을 사용해야하는 이유는 무엇입니까?
- 17. Java 7을 사용해야하는 이유는 무엇입니까?
- 18. 기본 키를 사용해야하는 이유는 무엇입니까?
- 19. ANT에서 classname을 사용해야하는 이유는 무엇입니까?
- 20. 32 비트보다 작은 정수를 사용해야하는 이유는 무엇입니까?
- 21. Linq 대신 SQL을 사용해야하는 SQL은 무엇입니까?
- 22. 파일 구조 - (젠드) MVC를 사용해야하는 이유는 무엇입니까?
- 23. Java에서이 상황에서 인터페이스를 사용해야하는 이유는 무엇입니까?
- 24. XmlHttpRequest 객체를 다시 사용해야하는 이유는 무엇입니까?
- 25. display : 인라인 블록을 사용해야하는 이유는 무엇입니까?
- 26. ASP.NET 멤버쉽 보안 모델을 사용해야하는 이유는 무엇입니까?
- 27. 기능 중심 개발을 사용해야하는 이유는 무엇입니까?
- 28. flex 3에서 MXML을 사용해야하는 이유는 무엇입니까?
- 29. OS에서 제공하는 메뉴 아이콘을 사용해야하는 이유는 무엇입니까?
- 30. Materialized Views보다 NoSQL을 사용해야하는 이유는 무엇입니까?