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.
Întrebări & Exemple de Cod:
Modulul Observable în Ruby: Șablonul Publish-Subscribe între ObiecteAi o nelămurire despre utilizarea comenzii
Modulul Observable în Ruby: Șablonul Publish-Subscribe între Obiectesau 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.