Domanda

Ora sto cercando di capire un po 'di codice e ho trovato un modello, che sembra un po' strano per me. C'è classe di controllo di un utente con l'evento 'EditorOpen'. In un primo momento, ho pensato che questo nome non è corretto, perché non si conclude con 'ing' o '-ed', come suggerisce MSDN. Tuttavia, più tardi ho scoperto, che questo evento non informa su qualcosa che accade, ma è piuttosto una sorta di richiesta in tal l'effettivo funzionamento. Questo è il codice del client, che si prevede di eseguire la "apertura dell'editor"!

Sono rimasto un po 'sorpreso di scoprire che questo è in realtà una forma di Template Method Design Pattern, nella quale non ci può essere più azioni connesse con un singolo segnaposto azione.

Credo che sia molto interessante, ma sono anche paura che l'utilizzo di eventi in questi casi può essere molto fuorviante. In ogni caso, non stiamo parlando di eventi qui, ma sulle richieste. Hm ... forse sarebbe stato ok, se solo il nome della manifestazione è stato 'EditorOpeningRequest' o 'EditorOpeningRequested'. Cosa ne pensi? Come commenta questo durante una revisione del codice?

È stato utile?

Soluzione

A meno che non ci sia una buona ragione per voi di avere più oggetti gestione di una richiesta di apertura di un editor, vorrei suggerire che dovrebbe essere un delegato al posto di un evento. In questo modo si limita ad avere un gestore della richiesta, che in questo caso sembra più logico.

ulteriormente più vorrei cambiare il nome a OpenEditor come questo è più descrittivo di ciò che si sta andando a aspettare. Se bastone con il modello di eventi, quindi OpenEditorRequested può essere un nome migliore.

HTH.

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