Pergunta

Como usuário clica captura em um aplicativo winform sem tornar o código muito complicado? é AOP a resposta? Como controlar instrumentações?

Foi útil?

Solução

Isso dependerá, em vez de suas necessidades reais.

Para um simples / sample / protótipo winforms aplicativo, eu sugiro básica WinForms manipuladores de eventos , com o código (desde que não seja muito pesada) nos métodos de manipulador. Se o código é pesado, contém regras de negócios duros e não interage com a forma, então é melhor para mover esse código para outra classe e chamá-lo a partir do manipulador de eventos.

Aspect Oriented Programming leva este futher. É geralmente melhor aplicado em projectos de maior escala. Você ainda precisa de manipuladores de eventos para os seus elementos de formulário (e eu recomendo ficar para os manipuladores de eventos baseados em controle - não tente criar seu próprio evento global facilidade de manutenção), mas eles devem fazer chamadas para objetos de comando (veja Command Pattern in GangOfFour). Esses objetos de comando pode então ser chamado a partir de qualquer lugar em sua aplicação. Se você quiser instrumentação, a instrumentação deve estar em objetos aqueles Command em vez dos eventos WinForms. Você pode alavancar Inversão de recipientes de controle como castelo de Windsor para injetar o log / auditoria para os comandos sem ter que mudar a sua aplicação a todos usando o Interceptor padrão . Aqui está um exemplo de David Hayden

Outras dicas

O método geral para capturar cliques em winforms está a lidar com Control.MouseClick . Você também pode olhar para Control.MouseDown e Control.MouseUp se você quiser informações mais detalhadas.

Se você fornecer mais detalhes sobre o que você está tentando fazer, nós provavelmente pode chegar a uma resposta mais alvejado.

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