Pergunta

Tenho+ de 200 instrução do caso em ASP Clássico que está ficando fora de controle.Ele define 5 variáveis, com base no qual o caso é selecionada.Endereço, Telefone, Nome etc.Apenas define as variáveis e nada mais, em cada caso.

Bases de dados ou ficheiros não são uma opção para esta aplicação.

Vindo do Perl do mundo eu iria usar um hash para armazenar esta informação.

Foi útil?

Solução

Brian, o ASP clássico equivalente a um Perl de hash é o Script.Dicionário objecto.

Outras dicas

Ficando fora de controle?Eu acho que ele já está fora de controle!

Você não pode categorizar os casos em 'x' áreas gerais e divisão para baixo em rotinas de auxiliar?

Depende do que você quer para o desempenho.

A instrução case é feio, mas não consome memória que precisa ser alocado.

No entanto, você pode criar uma classe para seus campos e de carga instâncias deles em um Dicionário.Executar esta operação no global.script asp para isso só acontece uma vez.Armazenar o dicionário global asp coleção, que é alocado apenas uma vez, mas usado com cada página chamada.

Meu appologies para não ficar muito específico aqui...tem sido um tempo.

Um monte de pessoas de usar o VBScript para o ASP Clássico, mas você pode usar JavaScript / JScript no servidor como uma alternativa.Como uma questão de fato, esta é a minha maneira preferida de fazer o ASP Clássico antes de finalmente mudar .NET (exceto em alguns casos, você vai ter que misturar no VBScript para casos especiais, i.é.Conjunto de registros desconectado, ExecuteNoRecords, etc.).Ele irá fornecer-lhe o melhor apoio OOP vs VBScript.Talvez você pode tentar refatorar isso.algum tipo de padrão de Estratégia depois.Vale a pena, eu acho melhor manutenção a longo prazo.

O fato de que você não pode migrar esta mais para um banco de dados ou um arquivo de texto é um pouco de um problema, pois eles seriam a melhor solução para esse tipo de dados.No entanto, se você tê-lo no código, você sempre pode tentar colocá-la em uma matriz que você predefinir.Em seguida, você pode fornecer uma função que retorna os dados de uma determinada linha da matriz.

Dicionário de script é a melhor opção IMHO.

Isso deve ser feito com um banco de dados, mas já que você disse que não é uma opção, nada do que você irá escrever, ser menos complexo do que uma instrução switch, pois é tudo o necessário para viver no seu código (de acordo com seus termos de não-db e sem arquivos).

Quero dizer, você pode usar uma Planilha do Excel, se a idéia de um banco de dados é muito complicado mas, tecnicamente, o que seria um arquivo bem!

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