Pergunta

Como seria o seguinte cenário melhor ser implementado:

Existe uma interface de utilizador normalizada para uma aplicação na versão 1.0, v.g. um formulário de pedido. Este aplicativo obtém personalizado para atender às necessidades de diferentes clientes. Isto poderia ser um campo extra "desejado tempo de entrega" para o cliente A, o omittance do campo "número de telefone" para o cliente B, um plug-in mapa extra que mostra depósitos nas proximidades de cliente C e uma combinação destes para o cliente D.

Agora, o desenvolvedor lança uma nova versão do formulário de pedido padronizado, versão 2.0. Qual é a melhor maneira de projetar isso para ter o mínimo de esforço (se em tudo) para garantir que todas as personalizações feitas para os clientes pode ser mantido vivo?

Eu poderia imaginar as seguintes soluções:

  • Configuração: todas as opções são configuráveis. Isso realmente não pode ser uma solução, como as necessidades de todos os possíveis clientes não podem ser previstas.
  • Herança: personalizações são feitas por herdar a versão padronizada. No entanto, como se pode garantir que a nova versão não resulta em uma versão personalizada "porcaria" procurando?
Foi útil?

Solução

A opção imediata que vem à mente é uma especificação de interface do usuário que existe fora da aplicação. Quando o aplicativo é executado, a interface do usuário é gerado em tempo de execução. Enquanto isso é mais trabalho do que um estático, compilado UI, também é muito mais flexível, a longo prazo, dado o seu ciclo de vida de software específico.

Existem estruturas que existem exclusivamente para esta finalidade: XUL é um bem conhecido exemplo.

Você poderia, no entanto, a mão-rolar o seu próprio. Em última análise, isso lhe dá o poder de manter interfaces de usuário de seus clientes separados.

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