Modulul Observable în Ruby: Șablonul Publish-Subscribe între Obiecte în Ruby

Sintaxă
include Observable
changed
notify_observers(*args)
add_observer(observer)

Modulul standard Observable implementează șablonul de proiectare Observer (Publish/Subscribe), permițând unui obiect să notifice automat o listă de ascultători abonați la modificarea stării sale interne.

require "observer"

class SenzorTemperatura
  include Observable

  def set_temperatura(noua_temp)
    puts "[Senzor]: Temperatura a devenit #{noua_temp}°C"
    changed # Marchează starea ca fiind modificată
    notify_observers(noua_temp) # Notifică toți abonații
  end
end

class AlertaEmail
  def update(temp)
    puts "[Alerta Email]: Atenție, temperatura a atins #{temp}°C!" if temp > 30
  end
end

senzor = SenzorTemperatura.new
senzor.add_observer(AlertaEmail.new)

senzor.set_temperatura(22)
senzor.set_temperatura(35) # Declanșează alerta

Decuplare arhitecturală: Obiectul notificat trebuie doar să implementeze o metodă update(*args), decuplând complet emițătorul de ascultători.

Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: Modulul Observable în Ruby: Șablonul Publish-Subscribe între Obiecte

Ai o nelămurire despre utilizarea comenzii Modulul Observable în Ruby: Șablonul Publish-Subscribe între Obiecte sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.