Wie benutze ich das Merkmal scala.Proxy

8

Ich habe es gerade in der API gefunden und würde gerne ein oder zwei sehen Beispiele zusammen mit einer Erklärung, wofür es gut ist.

    
Jens Schauder 10.10.2010, 15:07
quelle

2 Antworten

12

Das Proxy-Merkmal bietet eine nützliche Grundlage für die Erstellung von Delegaten. Beachten Sie jedoch, dass es nur Implementierungen der Methoden in Any ( equals , hashCode und toString ) bereitstellt. Sie müssen zusätzliche Weiterleitungsmethoden selbst implementieren. Proxy wird oft mit dem pimp-my-library Muster verwendet:

%Vor%

Die Standardbibliothek enthält auch eine Reihe von Merkmalen, die zum Erstellen von Kollektionsproxys ( SeqProxy , SetProxy , MapProxy usw.) nützlich sind.

Schließlich gibt es ein Compiler-Plugin im scala-incubator (das AutoProxy-Plugin ) Das wird automatisch Weiterleitungsmethoden implementieren. Siehe auch diese Frage .

    
Aaron Novstrup 10.10.2010, 16:38
quelle
3

Es sieht so aus, als würdest du es verwenden, wenn du Haskells newtype like-Funktionalität brauchst.

Zum Beispiel der folgende Haskell-Code:

%Vor%

entspricht ungefähr dem folgenden Scala-Code:

%Vor%     
missingfaktor 10.10.2010 15:18
quelle

Tags und Links