« Patrons de conception/Proxy » : différence entre les versions

Un livre de Wikilivres.
Contenu supprimé Contenu ajouté
m 21 versions depuis w:Proxy (patron de conception) : Patrons de conception/Proxy
+
Ligne 1 : Ligne 1 :
Un proxy est une classe se substituant à une autre classe.
{{ébauche|informatique}}
Par convention et simplicité, le proxy implémente la même interface que la classe à laquelle il se substitue.
L'utilisation de ce proxy ajoute une indirection à l'utilisation de la classe à substituer. Le proxy sert à contrôler l'accès à un objet.


En [[programmation]], un '''proxy''' (ou '''délégation''') est un [[patron de conception]].
Un proxy est un cas particulier du patron de conception [[../État|État]].
Un proxy implémente une et une seule interface, donc se substitue à une seule classe.

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. L'utilisation de ce proxy ajoute une indirection à l'utilisation de la classe à substituer.

Un proxy est un cas particulier du patron de conception [[État (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 peut implémenter un nombre quelconque d'interfaces.


Ligne 14 : Ligne 12 :
Outre l'utilisation principale du proxy (contrôle des accès), ce dernier 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 informatique|réseau]]) ou si l'objet est consommateur de temps.
Outre l'utilisation principale du proxy (contrôle des accès), ce dernier 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 informatique|réseau]]) ou si l'objet est consommateur de temps.


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.
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
* Virtual proxy
* Copy-on-write proxy
* Copy-on-write proxy
Ligne 24 : Ligne 21 :
* Smart reference proxy
* Smart reference proxy


== Diagramme de classes ==
[[Catégorie:Patron de conception]]

Le patron de conception Proxy peut être réprésenté par le diagramme de classes UML suivant :
[[Image:UML DP Proxy.png|center|frame|Diagrame de classes UML du patron de conception Proxy]]

* La classe cliente utilise l'interface InterfaceObjet pour accéder à l'objet via le Proxy,
* InterfaceObjet : interface partagée par le Proxy et l'objet accédé,
* Proxy : contrôle l'accès à l'objet. Chaque méthode délègue sa tâche à l'objet accédé, en contrôlant l'accès (vérifications, requête par réseau, ...),
* Objet : objet accédé indirectement.

== Exemples ==


[[Catégorie:Patrons de conception (livre)]]
[[bg:Пълномощно (шаблон)]]
[[ca:Proxy (patró de disseny)]]
[[de:Stellvertreter (Entwurfsmuster)]]
[[en:Proxy pattern]]
[[es:Proxy (patrón de diseño)]]
[[it:Proxy pattern]]
[[ja:Proxy パターン]]
[[lt:Proxy (objektas)]]
[[pl:Pełnomocnik (wzorzec projektowy)]]
[[pt:Proxy (padrões de projeto)]]
[[ru:Proxy (шаблон проектирования)]]
[[uk:Замісник (шаблон проектування)]]

Version du 21 mai 2009 à 18:04

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. L'utilisation de ce proxy ajoute une indirection à l'utilisation de la classe à substituer. Le proxy sert à contrôler l'accès à un objet.

Un proxy est un cas particulier du patron de conception État. Un proxy implémente une et une seule interface, donc se substitue à une seule classe. Un état peut implémenter un nombre quelconque d'interfaces.

Un proxy est utilisé principalement pour contrôler l'accès aux méthodes de la classe substituée. Un état est utilisé pour changer dynamiquement d'interface.

Outre l'utilisation principale du proxy (contrôle des accès), ce dernier 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.

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

Diagramme de classes

Le patron de conception Proxy peut être réprésenté par le diagramme de classes UML suivant :

Diagrame de classes UML du patron de conception Proxy
  • La classe cliente utilise l'interface InterfaceObjet pour accéder à l'objet via le Proxy,
  • InterfaceObjet : interface partagée par le Proxy et l'objet accédé,
  • Proxy : contrôle l'accès à l'objet. Chaque méthode délègue sa tâche à l'objet accédé, en contrôlant l'accès (vérifications, requête par réseau, ...),
  • Objet : objet accédé indirectement.

Exemples