Pergunta

Existem padrões de projeto bem estudadas relacionadas com drag & drop e gestos do mouse? Considere uma tela contendo objetos em uma hierarquia pai-filho com uma certa layout. Alguns objetos podem ser arrastados e caiu sobre outros objetos usando o mouse. Além disso, os objetos podem ser redimensionadas e mudou-se com o mouse.

Diferentes hot-spots em objetos se comportam de forma diferente, dependendo do estado do usuário (arrastando, selecionando.) Para uma operação de arrastar-soltar, alguns elementos são: 1) O feedback visual para o usuário para o objeto fonte 2) O feedback visual para o usuário durante o arrasto 3) detecção de área Gota 4) Os testes de compatibilidade gota 5) ação Gota

Os da API padrão tendem a combiná-las em código bastante monolítica.

Além disso, gestos tais como o movimento e o redimensionamento tem certos elementos em comum: 1) O feedback visual para o usuário quando o mouse está em uma região Resize / Move 2) O feedback visual durante uma operação de movimentação / redimensionamento 3) Conclusão / cancelamento de operação.

A pergunta é, existe uma maneira de fazer isso que agiliza o código, separa as responsabilidades de nível visual e documentos, e possivelmente muito deste declarativa?

Determinar se o ponto sob o rato é um alvo da gota, por exemplo, pode utilizar alguma forma de acerto para testes combinado com a corrente de padrão Responsabilidade.

Eu sinto que deve haver bons padrões de projeto que trazem disciplina e organização para este problema de outra forma confusa.

Cheers,

Foi útil?

Solução

Para responder a minha própria pergunta, Capítulo Dois deste livro tem uma discussão muito relevante: http://www.amazon.com/gp/product/0596516258 .

No entanto, isso ainda não é tão declarativa ou bem consignado como um gostaria.

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