you arrange for someone else to do it for you. » • Un proxy est donc un composant qui joue un rôle d’entremetteur / intermédiaire entre deux parties. • Exemples les plus évidents : un serveur proxy web et un reverse proxy. 3
of four). • Un proxy est une classe se substituant à une autre. • Il résout plusieurs types de problèmes : performance, sécurité, ajout de comportements. 4
que la classe substituée. • Un proxy remplace la classe réelle au moment de son utilisation. • L’application ne sait pas qu'elle utilise un proxy. • Un proxy doit utiliser la classe substituée. 5
Représenter localement un objet distant. • L’application utilise le proxy comme si l’objet était local, sans avoir besoin de savoir qu’il est distant. 10
son instanciation. • Un proxy n'en a pas forcément. Il peut l'instancier lui même, l’étendre ou se le faire passer par une méthode. • Un proxy n'instanciera pas toujours l’objet qu’il substitue. • Un décorateur vient toujours ajouter un comportement ou une responsabilité. • Un proxy peut avoir d’autres objectifs : protéger, cacher, logguer... 12
en proxifiant le client API tier. • Vous avez le choix entre les différentes méthodes d’implémentations. • Ne modifiez pas le client, ni les services, sauf si c’est autorisé (cf les commentaires). • Il y a logiquement deux types de proxy à implémenter. 14