“Ocorreu um erro, favor contatar o administrador de seu sistema”.
Quando um usuário vê esta mensagem de erro padrão do Mendix, nossa experiência é que a notificação é ignorada, ou contatamos que algo estava errado. O usuário simplesmente não tem mais idéia de quando exatamente ou por quê. A ajuda torna-se difícil.
Para melhorar o feedback que o sistema dá ao usuário e conseguir um registro mais informativo para o desenvolvedor, usamos um padrão fixo para cada ação a partir de uma página. Isto parece ser o seguinte: Ele começa com um nanofluxo de ação para lidar com todas as ações do cliente. Pense em abrir uma nova página, refrescar um objeto ou mostrar uma mensagem ao usuário. A seguir, chamamos um microfluxo de ação que executa o subfluxo lógico e trata o resultado incluindo o tratamento de erros e o registro. O resultado é retornado em uma entidade específica FlowResult para o nanofluxo (ver Figura 1).
Figure 1
O padrão para cada etapa é o seguinte:
Chamada de ação nanofluxo de uma página
A ação nanofluxo é chamada a partir de uma página e recebe o prefixo “Nanoflow Action Call” (NAC). Se a validação dos campos for necessária, este nanofluxo primeiro chama um microfluxo para validação. Usamos um microfluxo para isto, para que possamos testar a validação por unidade. Se você não trabalhar com testes unitários, então um sub-nanofluxo também o fará, é claro. Um fluxo de validação retorna um resultado que lhe permite saber se você pode ou não realizar a ação de acompanhamento.
Chamando microfluxo de ação de nanofluxo
A ação microfluxo (com o prefixo ACT) recebe os mesmos direitos que a ação nanofluxo. Este microfluxo cria um objeto FlowResult e chama o sub-microfluxo com a lógica nele (ver Figura 2). Neste subfluxo o tratamento do erro é capturado, de modo que em caso de erros podemos registrar e definir o FlowResultado como falhado. A mensagem de erro também é colocada no FlowResultado. Dependendo do resultado, pode-se então realizar a ação de acompanhamento desejada no próprio microfluxo ou na ação nanofluxo.
Sub microfluxo de ação microfluxo
O subfluxo trata de toda a lógica. Os objetos são modificados aqui, criados e excluídos, cálculos efetuados, etc. Se surgir uma situação inesperada, nós mesmos nos encarregamos de levantar uma exceção. Isto porque não é o comportamento desejado e esperado da lógica e, portanto, uma execução. Desta forma, o microfluxo de ação pode capturar o que deu errado e realizar o manejo apropriado (incluindo o registro).
Figure 2
Considerações sobre o padrão
Contato