2011-04-28 4 views

답변

45

reify의 메서드 본문은 어휘 클로저이며 주변 로컬 범위를 참조 할 수 있습니다. 점에서 proxy에서 reify 다릅니다 :

  • 만 프로토콜이나 인터페이스 지원, 구체적인 슈퍼 클래스.
  • 메소드 본문은 외부 fn이 아닌 결과 클래스의 참 메소드입니다.
  • 인스턴스에서 메소드 호출은 직접적이며 맵 참조를 사용하지 않습니다.
  • 메소드 맵에서 메소드의 동적 스와핑을 지원하지 않습니다.

결과는 구성 및 호출 모두에서 프록시보다 성능이 좋습니다. 제한 조건이 엄격하지 않은 모든 경우에 reifyproxy보다 바람직합니다.

출처 : 당신이 기본 클래스 메서드를 재정의해야하지 않는 한 번, proxy을 사용 http://clojure.org/datatypes

관련 문제