Proxy (patron de conception)

En programmation, un proxy est un patron de conception.

Pour l’article ayant un titre homophone, voir Proxy (homonyme).

Proxy en UML

Un proxy est une classe se substituant à une autre classe. Par convention et simplicité, le proxy implémente la même interface que la classe à laquelle il se substitue[1]. L'utilisation de ce proxy ajoute une indirection à l'utilisation de la classe à substituer[1].

Usage

Un proxy est utilisé principalement pour contrôler l'accès aux méthodes de la classe substituée[1]. Il est également utilisé pour simplifier l'utilisation d'un objet « complexe » à la base : par exemple, si l'objet doit être manipulé à distance (via un réseau) ou si l'objet est consommateur de temps[1].

Propriétés

  • Un proxy est un cas particulier du patron de conception état ;
  • Un proxy implémente une et une seule interface (donc une seule classe) ;
  • Un état peut implémenter un nombre quelconque d'interfaces ;
  • Un état est utilisé pour changer dynamiquement d'interface.

Types

Il existe différents types de proxy :

  • Remote proxy : fournit une référence sur un objet situé sur un espace d'adressage différent, sur la même machine ou sur une autre ;
  • Virtual proxy ;
  • Copy-on-write proxy ;
  • Protection (access) proxy ;
  • Firewall proxy ;
  • Synchronization proxy ;
  • Smart reference proxy.

Références

  1. (en) Erich Gamma, Richard Helm, Ralph Johnson et John Vlissides, Design Patterns : Elements of Reusable Object-Oriented Software, Addison-Wesley, , 395 p. (ISBN 0-201-63361-2, lire en ligne), p. 233-245

Voir aussi

  • Portail de l’informatique
Cet article est issu de Wikipedia. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.