Olá a todos!
A questão é a seguinte:
Tenho uma aplicação que possui funcionamento diferente para diferentes disponibilidades de recursos.
Por exemplo, se minha aplicação for CONFIGURADA para funcionar off-line, ela deve saber que NÃO-TERÁ conectividade, e assim não enviar pacotes de dados, tentar enviar alertas para outras máquinas, enfim, não tentar se comunicar. E OUTRA possibilidade é ela ser configurada para funcionar ON-LINE, mas por algum motivo temporário não possuir conectividade. Vejam que são duas situações bem diferentes.
Qual seria a melhor maneira de ter essa flexibilidade em uma aplicação?
Não é trivial; eu poderia ter uma classe que representa-se todos os recursos do equipamento (computador) e configurações da aplicação, e toda vez que for executar alguma operação que demande a checagem de algum tipo de recurso-variável, eu checaria nessa minha classe se o recurso foi configurado como ativo, e se SIM, verificar se ele está disponível, se estiver (e foi configurado para ser usado) eu executo a dita operação (que pode ser um método apenas, ou uma sequência de operações).
O problema dessa abordagem, é a poluíção de if’s no código, e também por ser muito trabalhosa para manutenção e dependiosa do ponto de vista computacional pelo fato de ter que fazer 1 ou 2 verificações a cada operação que pode ser muito simples.
Oobs.: Eu citei apenas recursos de conexão, mas poderia ser outros tipos de recursos, como processamento, memória, disco, outro hardware, etc. Porém, o de conectividade realmente é o mais utilizado.
Obrigado(a), 