Pourquoi devrais-je utiliser Reify au lieu de proxy en clojure?
Réponses
Trop de publicités?Le corps des méthodes d' reify
sont lexicale fermetures, et peut se référer aux alentour de portée locale. reify
diffère proxy
en ce que:
- Seuls les protocoles ou les interfaces sont pris en charge, pas de béton de la superclasse.
- Le corps des méthodes sont de véritables méthodes de la classe, pas externe pn.
- Invocation de méthodes sur l'instance est directe, et non à l'aide de la carte de recherche.
- Pas de support pour la dynamique de l'échange de méthodes dans la méthode de la carte.
Il en résulte de meilleures performances que les proxy, à la fois dans la construction et l'invocation. reify
est préférable d' proxy
dans tous les cas où les contraintes ne sont pas prohibitifs.
Source: http://clojure.org/datatypes
semperos
Points
3045