"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > سحر العمارة التي يحركها الحدث

سحر العمارة التي يحركها الحدث

نشر في 2025-04-21
تصفح:706

Arquitetura Orientada a Eventos

الحدث -العمارة الموجهة (AOE) هي نموذج تصميم يستخدم لتطوير الأنظمة التي تتفاعل مع أحداث الوقت الحقيقي. هذا النوع من الهندسة المعمارية مفيدة للغاية في السيناريوهات حيث تحتاج إلى معالجة المعلومات بسرعة ، مثل التجارة الإلكترونية والتطبيقات المصرفية.

ما هو الحدث؟
الحدث هو أي إجراء أو تغيير يحدث في النظام. على سبيل المثال ، عندما يقوم العميل بإجراء عملية شراء على موقع ما ، يمكن اعتبار ذلك حدثًا. تتضمن أمثلة أخرى نقرات على الأزرار أو تحديثات البيانات.

كيف يعمل AOE؟
تعمل الهندسة المعمارية على أساس ثلاثة مكونات رئيسية:

منتجي الأحداث: هم أجزاء النظام التي تولد الأحداث.
مستهلكي الحدث: مسؤولون عن تلقي الأحداث والرد عليها.
وسيط الحدث: وسيط يوزع أحداث المنتجين للمستهلكين.
عند حدوث حدث ما ، يتم التقاطه وإرساله إلى وسيط ، والذي يقدمه إلى الخدمات أو الأنظمة المهتمة بهذا النوع من الأحداث.

فوائد AoE
قابلية التوسع: يسمح للأنظمة بالنمو بكفاءة ، حيث يمكن معالجة الأحداث بشكل غير متزامن.
التسديد: لا يحتاج المنتجون والمستهلكون إلى معرفة تفاصيل بعضهم البعض ، مما يجعل النظام أكثر مرونة.
الاستجابات في الوقت الفعلي: مثالي للتطبيقات التي تحتاج إلى رد فعل بسرعة للتغيير.

مثال بسيط جدًا في 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");
    }
}

ماذا يحدث في هذا المثال؟
المنتج: ينشئ نظام النظام طلبًا ويبلغ الأطراف المهتمة.
المستهلك: يتفاعل فئة ShipodeMail مع الحدث ، وإرسال بريد إلكتروني إلى الطلب الذي تم إنشاؤه.
ذكر: لا يعرف النظام في الإقامة ما الذي سيفعله المستهلك بالحدث ، فقط ينبعث منه.

نعم ، كما قلت كان مثالاً بسيطاً للغاية ، محاكاة مع الاتصالات الفئة باستخدام المستمعين.

valeeeeu

بيان الافراج يتم استنساخ هذه المقالة على: https://dev.to/duzera/arquitetura-orientada-a-eventos-jmc؟1 إذا كان هناك أي انتهاك ، فيرجى الاتصال بـ [email protected] لحذفه.
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3