Casa > C > Como Optimizar Quase Duzentos Códigos De Caixa De Comutação Em Java

Como optimizar quase duzentos códigos de caixa de comutação em Java

P>Padrão de estratégia

Mais especificamente, veja as condições de comutação e as operações que estão a ser realizadas em cada uma delas. Se você achar que o comportamento em cada caso é suficientemente geral, defina uma interface com um método de serviço apropriado para invocar e implementar o comportamento e depois implemente classes abstratas e concretas, conforme necessário, para cobrir todos os casos.

Em seguida, use uma estrutura de mapa para armazenar instâncias das várias implementações de interface necessárias para cobrir os casos e registrá-las sob cada instância de código de switch. Reutilize as instâncias das implementações de interface conforme necessário. Se você'estiver fazendo isso corretamente, os métodos que implementam seu comportamento devem ser stateless e thread-safe.

Em tempo de execução, simplesmente obtenha o valor da condição do switch de sua variável de entrada, recupere a instância que cobre aquele caso do Mapa e execute o método de serviço. Voilá! Centenas de linhas de código reduzidas a duas em tempo de execução e o número de linhas necessárias para registrar suas instâncias condicionais na inicialização. Se você prevê mudar as condições frequentemente, você pode até mesmo descarregar a definição de inicialização e registrar em um arquivo de recurso e carregar isso, ao invés disso, livrando-se do código.

De Darwen

Podemos atribuir um endereço IP em um switch? :: O StreamYard é tão bom como o Google Hangouts Air para live-streaming?