Pergunta

Agora estou tentando compreender algum código e eu descobri um padrão, que parece um pouco estranho para mim. Há classe de controle de um usuário com o evento 'EditorOpen'. No início, eu pensei que este nome é incorreto, porque ele não termina com 'ing' ou '-ed', como MSDN sugere. No entanto, mais tarde eu descobri, que este evento não informar sobre algo acontecendo, mas é bastante algum tipo de pedido para fazer a operação real. Este é o código do cliente, que é esperado para realizar a "abertura do editor"!

Eu estava um pouco surpreso ao descobrir que este é realmente alguma forma de Template Method Design Pattern, em que pode haver várias acções relacionadas com um único espaço reservado ação.

Eu acho que é bastante interessante, mas eu também tenho medo que o uso de eventos em tais casos pode ser altamente enganosa. De qualquer forma, não estamos falando sobre eventos aqui, mas sobre as solicitações. Hm ... talvez seria ok, se apenas o nome do evento era 'EditorOpeningRequest' ou 'EditorOpeningRequested'. O que você acha? Como você comentar isso durante uma revisão de código?

Foi útil?

Solução

A menos que haja uma boa razão para você ter vários objetos de manipulação um pedido de abertura de um editor, eu sugiro que deve ser um delegado em vez de um evento. Isso você se restringe a ter um manipulador da solicitação, que neste caso parece mais lógico.

Ainda mais eu mudaria o nome para OpenEditor como este é mais descritivo, como o que você vai esperar. Se você fizer vara com o modelo de eventos, em seguida, OpenEditorRequested pode ser um nome melhor.

HTH.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top