Pergunta

Então, eu estou pensando em escrever um aplicativo que é em grande parte uma aplicação de janelas. Haverá janelas para interação com o usuário, mas apenas a pedido do utilizador. Caso contrário, a aplicação fica na bandeja do sistema e executa um timer, executar alguma lógica a cada minuto ou assim. A minha pergunta é esta: Tanto quanto eu posso dizer, eu iria colocar toda a lógica relacionada em App.xaml.cs (iniciando a contagem, executar a lógica em cada intervalo), mas por alguma razão isso parece errado para mim.

O aplicativo terá um ícone da bandeja do sistema que os usuários podem interagir com para obter mais detalhes, ajustar as configurações, etc., mas caso contrário, o aplicativo só fica lá e faz o que faz. É apropriado para colocar todo o código no código-behind para a classe App.xaml? Eu não sei por que, mas parece como se eu não devia, e deve haver algum outro lugar, mas eu realmente não posso pensar em nada.

Eu nunca escrevi um aplicativo como este antes, daí a minha ignorância. Qualquer conselho seria muito apreciado. Obrigado.

James

Foi útil?

Solução

Mesmo com aplicações onde mais interação é feita através de janelas normalmente é uma má idéia de colocar todo o código no trás código. Interações são muitas vezes iniciadas eventhandlers no código por trás, mas você pode colocar seu código em classes que você mesmo cria.

O mesmo vale para aplicações que não mostram uma interface de usuário na maioria das vezes. A maioria das ações será iniciada a partir das App.xaml.cs mas isso não significa que todo o código tem que viver lá. Você pode encapsular temporizadores em suas próprias classes que pode pontapé de saída outro código para fazer o trabalho, por exemplo. Divida o seu código-se ao longo de linhas de responsabilidades, uma classe de janela faz coisas UI, lógica de domínio vai para outros arquivos etc. Isso lhe permitirá criar aplicações mais sustentável.

Outras dicas

Ele não soa como o código pertence lá, e, no máximo, apenas uma chamada para iniciar os temporizadores. O que soa como um ajuste perfeito para seus problemas, é o MV-VM (Model - View - ViewModel) padrão. Como você noteded, que também irá 'sentir' mais correto lógica seguida, anexar a sua trás código. Usando MVVM você pode separar sua UI escassa em uma View, e seu código pode existir separadamente no modelo e ViewModel.

Eu recomendaria utilizando o kit de ferramentas aqui , como ele também contém bons documentos visão geral e um exemplo que você pode digerir como você criar sua própria solução. Laurent Bugnion também lançou um kit de ferramentas MVVM inicial que você pode usar para começar.

Além disso, aqui é algumas coisas boas para você começar na verdade a criação de seus controles na bandeja do sistema.

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