Передача данных с помощью глобального делегата на разных языках программирования

Чтобы передать данные с помощью глобального делегата, вы можете использовать различные методы в зависимости от используемого языка программирования. Вот несколько примеров на разных языках:

  1. C#:

    // Define a delegate
    public delegate void DataDelegate(string data);
    // Create a global instance of the delegate
    public static class GlobalDelegate
    {
    public static DataDelegate DataHandler;
    }
    // Usage example
    public class Sender
    {
    public void SendData(string data)
    {
        // Invoke the global delegate
        GlobalDelegate.DataHandler?.Invoke(data);
    }
    }
    public class Receiver
    {
    public Receiver()
    {
        // Subscribe to the global delegate
        GlobalDelegate.DataHandler += HandleData;
    }
    private void HandleData(string data)
    {
        // Handle the data received
        Console.WriteLine("Received data: " + data);
    }
    }
  2. Java:

    // Define an interface
    public interface DataListener {
    void onDataReceived(String data);
    }
    // Create a global instance of the interface
    public class GlobalDelegate {
    public static DataListener dataListener;
    }
    // Usage example
    public class Sender {
    public void sendData(String data) {
        // Invoke the global delegate
        if (GlobalDelegate.dataListener != null) {
            GlobalDelegate.dataListener.onDataReceived(data);
        }
    }
    }
    public class Receiver implements DataListener {
    public Receiver() {
        // Set the global delegate
        GlobalDelegate.dataListener = this;
    }
    @Override
    public void onDataReceived(String data) {
        // Handle the data received
        System.out.println("Received data: " + data);
    }
    }
  3. JavaScript:

    // Define a global delegate using an event emitter pattern
    const GlobalDelegate = new EventEmitter();
    // Usage example
    class Sender {
    sendData(data) {
    // Emit an event with the data
    GlobalDelegate.emit('dataReceived', data);
    }
    }
    class Receiver {
    constructor() {
    // Subscribe to the global delegate event
    GlobalDelegate.on('dataReceived', this.handleData);
    }
    handleData(data) {
    // Handle the data received
    console.log('Received data:', data);
    }
    }

Это всего лишь несколько примеров передачи данных с помощью глобального делегата на разных языках. Вы можете адаптировать эти подходы к своему конкретному варианту использования.