• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Knitter

Como implementar um sistema de undo/redo numa aplicação com base de dados?

2 mensagens neste tópico

Boas,

Embora o problema não esteja necessáriamente relacionado com base de dados, foi devido à existência dela que tenho problemas.

Tenho uma aplicação que usa uma base de dados, é uma aplicação típica, uma base de dados de receitas. A questão é como implementar o sistema de undo/redo correctamente?

Não posso confiar no motor de base de dados para fazer isso, não será correcto. Mas tenho alguma relutância em criar cópias locais dos dados na aplicação.

A questão é mais de performance que de outra coisa, afinal não quero que cada vez que o utilizador carregue no botão para anular seja feita uma ligação à base de dados. Pior é o utilizador que faz undo e redo seguido... não quero o motor de base de dados a trabalhar por tudo e por nada. Por outro lado, ao guardar cópias locais como posso garantir integridade?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Cada operação/comando que o utilizador faz gera dois comandos: o da operação do utilizador e o da acção inversa. Depois basta teres uma lista para os comandos undo, redo e usar os comandos certos para fazeres e desfazeres as operações. :thumbsup:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora