« Patrons de conception/Proxy » : différence entre les versions
m 21 versions depuis w:Proxy (patron de conception) : Patrons de conception/Proxy |
+ |
||
Ligne 1 : | Ligne 1 : | ||
⚫ | |||
{{ébauche|informatique}} |
|||
⚫ | |||
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|État]]. |
|||
Un proxy implémente une et une seule interface, donc se substitue à une seule classe. |
|||
⚫ | |||
Un proxy est un cas particulier du patron de conception [[État (patron de conception)|État]]. |
|||
⚫ | |||
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. |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
* 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 == |
|||
⚫ | |||
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 == |
|||
⚫ | |||
[[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 :
- 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.