L'architecture orientée vers les événements (AOE) est un modèle de conception utilisé pour développer des systèmes qui réagissent aux événements réels. Ce type d'architecture est très utile dans les scénarios où vous devez traiter rapidement les informations, tels que le commerce électronique et les applications bancaires.
Qu'est-ce qu'un événement?
Un événement est toute action ou changement qui se produit dans un système. Par exemple, lorsqu'un client effectue un achat sur un site, cela peut être considéré comme un événement. D'autres exemples incluent des clics sur les boutons ou les mises à jour de données.
Comment fonctionne AOE?
L'architecture fonctionne basée sur trois composants principaux:
Producteurs d'événements: sont les parties du système qui génèrent des événements.
Les consommateurs d'événements: sont responsables de la réception et de la réaction des événements.
Broker d'événements: un intermédiaire qui distribue les événements des producteurs aux consommateurs.
Lorsqu'un événement se produit, il est capturé et envoyé à un courtier, qui le fournit aux services ou systèmes intéressés par ce type d'événement.
avantages de aoe
Évolutivité: permet aux systèmes de se développer efficacement, car les événements peuvent être traités de manière asynchrone.
Décapation: les producteurs et les consommateurs n'ont pas besoin de connaître les détails de l'autre, ce qui rend le système plus flexible.
Réponses en temps réel: idéal pour les applications qui doivent réagir rapidement pour changer.
un exemple très simple dans java oop ☕:
// Definição do evento class PedidoCriadoEvent { private String idPedido; public PedidoCriadoEvent(String idPedido) { this.idPedido = idPedido; } public String getIdPedido() { return idPedido; } } // Interface para o consumidor (listener) interface PedidoCriadoListener { void onPedidoCriado(PedidoCriadoEvent event); } // Produtor do evento class SistemaDePedidos { private PedidoCriadoListener listener; public void registrarListener(PedidoCriadoListener listener) { this.listener = listener; } public void criarPedido(String idPedido) { System.out.println("Pedido criado com ID: " idPedido); if (listener != null) { listener.onPedidoCriado(new PedidoCriadoEvent(idPedido)); } } } // Consumidor do evento class EnvioDeEmail implements PedidoCriadoListener { @Override public void onPedidoCriado(PedidoCriadoEvent event) { System.out.println("Enviando e-mail para o pedido: " event.getIdPedido()); } } // Simulação public class Main { public static void main(String[] args) { SistemaDePedidos sistema = new SistemaDePedidos(); EnvioDeEmail envioDeEmail = new EnvioDeEmail(); sistema.registrarListener(envioDeEmail); sistema.criarPedido("12345"); } }
Que se passe-t-il dans cet exemple?
producteur: Le système système crée une demande et informe les parties intéressées.
Consumer: La classe Shipodemail réagit à l'événement, envoyant un e-mail à l'ordre créé.
DÉCLARATION: Le système de résidence ne sait pas ce que le consommateur fera avec l'événement, ne l'émet que.
Oui, comme je l'ai dit, c'était un exemple très simple, simulant avec la communication de classe utilisant des auditeurs.
ValeeeEU
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3