ERLEDIGT
NEIN
NEIN
ANTWORTEN
0
0
ZUGRIFFE
303
303
EMPFEHLEN
-
02.10.08 00:08 #1
- Registriert seit
- Jun 2002
- Ort
- Saarbrücken (Saarland)
- Beiträge
- 9.886
- Blog-Einträge
- 29
Hallo,
Ein Proxy ( http://en.wikipedia.org/wiki/Proxy_pattern ) ist ein Design Pattern. Dabei realisiert der Proxy das Interface eines bestimmten Zielobjekts und "Wrapped" dieses.
Der Proxy kann über das Interface des Zielobjekts angesprochen werden. Methodenaufrufe am Proxy werden werden dann in die entsprechenden Methodenaufrufe am Zielobjekt übersetzt. Diesen Mechanismus verwendet man beispielsweise um bevor, nach oder um den Methodenaufruf am Zielobjekt herum zusätzlichen Code ausführen zu können.
Beispielsweise startet man vor dem Methodenaufruf eine Datenbanktransaktion (führt Zugriffsberechitungschecks o.ä aus). Nach erfolgreichem Aufruf commited man dann die Transaktion oder macht ein rollback falls eine bestimmte Exception aufgetreten ist.
Neben der statischen Version dieses Patterns gibts unter vielen Platformen (wie Beispielsweise Java und .Net) auch dynamische Versionen, welche die Interfaces der Zieltypen die der Proxy realisieren soll zur Laufzeit übergeben bekommen.
Siehe:
http://java.sun.com/javase/6/docs/ap...ect/Proxy.html
Nun interessiert mich ob und vor allem wie man diese dynamischen Proxies auch mit C++ realisieren kann.
Im Netz findet man dazu mehrere Ansätze. Ein Ansatz (Function Wrappers) stammt von niemand geringerem als Bjarne Stroustrup. Die dort vorgestellte Variante hat jedoch den Nachteil, dass der Code, den man dem Methodenaufruf Vor-/nachschaltet nicht auf die Parameter der aufgerufenen Methode zugreifen kann. Das ist eine ziemlich starke Einschränkung...
hier müsste man dann Beispielsweise zur Threadsicheren auf statische Thread-lokale Variablen zugreifen...
http://www.research.att.com/~bs/wrapper.pdf
Eine andere Möglichkeit sowas ähnliches zu realisieren wäre wohl der Einsatz von aspect++
http://www.aspectc.org/
Was meint ihr dazu? Hat jemand vielleicht noch eine andere Idee?
Gruß TomJava rocks!
How to become a good Java Programmer?
Does IT in Java and .Net
The only valid measurement of code quality: WTFs / minute
Blog
Xing
Twitter
Ähnliche Themen
-
Java 1.5.0 RMI OHNE Stubs und Skeletons dank Dynamic Proxies ;-)
Von Thomas Darimont im Forum JavaAntworten: 13Letzter Beitrag: 26.05.10, 00:44 -
Proxies und Annotationen
Von TheMagican im Forum JavaAntworten: 4Letzter Beitrag: 12.05.09, 20:52 -
Getypte Datenmodelle nur mit Interfaces und Dynamic Proxies
Von Thomas Darimont im Forum .NET Application und Service DesignAntworten: 1Letzter Beitrag: 21.12.06, 14:31 -
Datei Inhalt auslesen ohne fopen wrappers
Von epod im Forum PHPAntworten: 0Letzter Beitrag: 05.10.04, 23:03 -
Anonyme Proxies
Von nordi im Forum NetzwerkeAntworten: 1Letzter Beitrag: 04.04.04, 00:12






Zitieren
Login






