Proxy (patron de conception)

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Page d’aide sur l’homonymie Pour l’article ayant un titre homophone, voir Proxy (homonyme).
Proxy en UML

En programmation, un proxy est un patron de conception.

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[modifier | modifier le code]

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[modifier | modifier le code]

  • 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[modifier | modifier le code]

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[modifier | modifier le code]

  1. a, b, c et d (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[modifier | modifier le code]