Que Padrão de design para fazer isso?
- Preparar
- come.
-
Leva as tuas coisas para o bin.
- limpa a mesa
agora o que eu quero fazer é até o usuário cancela o evento "comer" eu quero que eles "limpar a mesa" o mesmo vale para "preparar" e "levar suas coisas para o lixo" estágios.
Actualmente na minha implementação tive de fazer várias verificações e às vezes acabo por chamar "mesa de limpeza" duas vezes, e alguns outros problemas de ramificação quando adiciono mais alguns passos. Há algum padrão de design bem definido para lidar com este tipo de fluxos? Há um que não me lembro do nome.)5 answers
Isto é resolvido com o padrão de Estado . Se testares a lógica, vai correr bem.
Soa como Modelo padrão Método .
Ou pode fazer isto através da composição e padrão estratégico .
Se você começar a ter lógica complicada, então Padrão de Estado poderia ser melhor.
Se está a trabalhar em C++: a aquisição de recursos é a inicialização .
Este problema geralmente não foi resolvido bem em linguagens sem algum tipo de finalização determinística(C#, Java etc.)
Em C#/. NET, temos o IDisposable
padrão. Estou certo que você poderia implementar algo semelhante em outra linguagem, se ou não tem um coletor de lixo (embora a implementação seria ligeiramente diferente).
Em relação ao aspecto do fluxo de trabalho, eu apenas seguiria o padrão de design dos serviços web em WCF (isto é, Métodos Begin
e Cancel
). Se você não considera isso um exagero para suas circunstâncias, a Fundação Windows Workflow pode ser a melhor maneira de ir.
Padrão de Estado a minha tendência é o que vai fazer com que isto funcione no fim.