Domanda

Sto programmando un istante messaging libreria per MSN Messenger, e ho una semplice domanda su generazione di eventi.

Quando si accede, dovrei essere raising UserAdded per ogni utente che è sincronizzato (già sulla lista dei contatti), o forse l'evento UserAdded essere riservato a quando un nuovo utente è stato aggiunto alla lista dei contatti tramite il metodo AddUser? Dovrei forse usare un altro evento, UserDownloaded per quando un utente viene scaricato?

Allo stesso modo, quando chiamo logout, dovrei chiamare UserRemoved?

Spero che questo ha un senso.

Grazie

È stato utile?

Soluzione

Questa è una domanda più generale disegno e può dipendere dal tuo caso specifico - ad esempio che cosa si prevede di utilizzare gli eventi? Di quali informazioni l'utente della necessità biblioteca?

Credo che scattare l'evento quando un utente viene aggiunto da qualsiasi fonte (sia a livello locale e quando un nuovo utente viene scaricato) è più utile, perché si potrebbe utilizzare l'evento come notifica di quando è necessario aggiornare l'elenco dei utenti (per esempio). L'evento potrebbe anche portare alcune informazioni YourEventArgs che conterrebbe informazioni sulla sorgente (vs. locale scaricato).

Attivazione caso quando un metodo viene chiamato potrebbe non essere così utile (se il metodo viene chiamato da parte dell'utente della biblioteca), perché l'utente della biblioteca sarà probabilmente sa che sta chiamando il metodo (in modo da non lo fa necessità di una notifica a tale proposito).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top