„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Der Charme der ereignisorientierten Architektur

Der Charme der ereignisorientierten Architektur

Gepostet am 2025-04-21
Durchsuche:951

Arquitetura Orientada a Eventos

event -oriented Architecture (AOE) ist ein Designmodell, mit dem Systeme entwickelt werden, die auf echte Ereignisse reagieren. Diese Art von Architektur ist sehr nützlich in Szenarien, in denen Sie Informationen schnell verarbeiten müssen, z. B. E-Commerce- und Bankanwendungen.

Was ist ein Ereignis?
Ein Ereignis ist eine Aktion oder Änderung, die in einem System auftritt. Wenn ein Kunde beispielsweise einen Kauf auf einer Website tätigt, kann dies als Veranstaltung angesehen werden. Weitere Beispiele sind Klicks auf Schaltflächen oder Datenaktualisierungen.

wie funktioniert aoe?
Die Architektur basiert auf drei Hauptkomponenten:

Ereignisproduzenten: sind die Teile des Systems, die Ereignisse generieren.
Ereigniskonsumenten: sind dafür verantwortlich, Ereignisse zu empfangen und zu reagieren.
Event Broker: ein Vermittler, das die Ereignisse der Produzenten an die Verbraucher verteilt.
Wenn ein Ereignis auftritt, wird es erfasst und an einen Broker gesendet, der es an Dienste oder Systeme zur Verfügung stellt, die sich für diese Art von Ereignis interessieren.

Vorteile von aoe
Skalierbarkeit: Ermöglicht das effiziente Wachstum von Systemen, da Ereignisse asynchron verarbeitet werden können.
Dekapation: Hersteller und Verbraucher müssen die Details des anderen nicht kennen, was das System flexibler macht.
Echtzeitantworten: Ideal für Anwendungen, die schnell reagieren müssen, um sich zu ändern.

ein Beispiel sehr einfach in 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");
    }
}

Was passiert in diesem Beispiel?
Produzent: Das Systemsystem erstellt eine Anfrage und benachrichtigt die interessierten Parteien.
Consumer: Die Klasse Shipodemail reagiert auf das Ereignis und sendet eine E -Mail an die erstellte Bestellung.
deklarieren: Das System in Wohnsitz weiß nicht, was der Verbraucher mit dem Ereignis machen wird, emittiert es nur.

Ja, wie gesagt, war ein sehr einfaches Beispiel, das mit den Hörern mit Klassenkommunikation simuliert.

valeeeeu

Freigabeerklärung Dieser Artikel ist reproduziert unter: https://dev.to/duzera/arquitetur-orientada-a-eventos-jmc?1 Wenn es zu Verstößen kommt, wenden Sie sich bitte an [email protected], um ihn zu löschen.
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3