Diciamo che abbiamo un'interfaccia utente con moduli, pulsanti e così via. Ogni elemento ha alcune proprietà (come Visible
, Enabled
, ecc.). Chi dovrebbe controllare queste proprietà e decidere quando eseguire il rendering dell'articolo o no?
-
Elemento principale:
for I := 0 to Count - 1 do if Child[I].Visible then Child[I].Paint
-
O ogni elemento stesso:
if not Self.Visible then Exit else <<PaintSelf>>
Qui, Visibility è solo un esempio: la stessa scelta si presenta con molte altre proprietà (GUI, logica dell'applicazione, ecc.) quando alcuni genitore devono fare qualcosa con i suoi childs .
La risposta è ovvia nel modello event-driven, in cui l'emittente di eventi non può conoscere le proprietà dei gestori. Ma per quanto riguarda il modello non event-driven, dove c'è un genitore e un elenco di Childs che gestisce?
Sto cercando una guida / soluzione generale per questo caso.