Reactor

Le patron de conception Reactor est destiné à permettre le traitement événementiel dans un environnement concurrentiel, où les événements peuvent provenir de sources diverses. Son fonctionnement est proche de celui du design pattern Observateur, mais à la différence de celui-ci, il est capable d'accepter plusieurs sources d'événements.

Fonctionnement

Le pattern est basé sur une boucle de démultiplexage des événements redirigeant ceux-ci vers un ou des modules de traitement.

Utilité

Le pattern reactor peut être une bonne solution de départ pour les problématiques de la programmation concurrentielle ainsi que la gestion des événements.

Implémentations

Le patron de conception Reactor a été implémenté dans plusieurs serveurs web, Serveur d'applications, et frameworks réseau:

C++

  • Adaptive Communication Environment

Q

  • kdb+

Java

  • Apache Cocoon
  • Vert.x

Javascript

  • Node.js

Perl

  • Mojolicious

PHP

  • ReactPHP

Python

  • Twisted
  • AsyncIO

Ruby

  • EventMachine

Références

v · m
Patrons de conception
Création
  • Fabrique abstraite
  • Monteur
  • Fabrique
  • Prototype
  • Singleton
Structure
  • Adaptateur
  • Pont
  • Composite
  • Décorateur
  • Façade
  • Poids-mouche
  • Proxy
Comportement
Fonctionnel
  • Fermeture
  • Curryfication
  • Composition de fonctions
  • Foncteur
  • Monade
  • Générateur
Patron d'architecture
Autres patrons
  • icône décorative Portail de l’informatique