CRUD é simplesmente o Criar, Ler, Atualizar, Excluir que um aplicativo faz.
Até certo ponto, um rastreador de erros também é um aplicativo CRUD. Crie bugs, leia (exiba) os bugs, atualize os bugs e, talvez, exclua-os.
No entanto, há mais em um rastreador de erros do que apenas CRUD.
- Um desenvolvedor não tem permissão para marcar o bug verificado ou fechado - isso faz parte do trabalho do controle de qualidade. Portanto, existe algum código para garantir que alguém que não tenha a função de controle de qualidade não possa marcar um bug como fechado ou verificado.
- Ninguém, exceto um gerente de projeto, pode realmente excluir um bug.
- Para que um bug seja marcado como "teste-me", deve haver pelo menos um commit de código contra o bug.
- Somente um bug que esteja no estado 'fechado' pode ser movido para o estado 'reabrir'
- O desenvolvedor atribuído ao bug não pode movê-lo de 'revisão de código' para 'revisão de código concluída'
- O controle de qualidade e os desenvolvedores podem ver apenas os bugs nos projetos aos quais estão atribuídos.
O código que implementa o acima é a lógica de negócios do aplicativo.
A restrição de fluxos de trabalho ou quem pode executar as várias operações no CRUD. É isso que separa um aplicativo CRUD de outro. São as partes em que você precisa fazer com que os negócios digam como o aplicativo funciona. Quão lógico é ... bem, isso é melhor discutido com uma cerveja fora do alcance da voz do gerente de projeto. Mas isso é o que é a lógica de negócios.
Claro, é possível escrever um aplicativo CRUD 'puro' onde não há funções, tudo pode ser modificado e visualizado - mas essas são a exceção e não a regra.
A lógica de negócios é a lógica que você está gravando em seu programa para lidar com as regras de negócios que você recebe.
Quando você começa a entrar em regras de negócios, isso tende a estar em um nível superior ao próprio crud ou à lógica de negócios. Isso costuma ser o que você recebe de um analista de negócios que trabalha com o negócio.
Considere neste exemplo, um programa que determina como lidar com a devolução de um item em uma mesa de devolução em uma loja.
- Se o recibo for igual ou superior a 90 dias, somente o crédito na loja poderá ser concedido
- Se o recibo tiver menos de 90 dias, credite a proposta com a qual o recibo foi usado para compra (o crédito volta no cartão de crédito, o dinheiro volta ao dinheiro, o crédito da loja vai ao crédito da loja) ... a menos que era um cheque; nesse caso, use dinheiro.
Essas são algumas regras de negócios. Eles não falam com a parte CRUD do aplicativo.
Ao trabalhar com regras de negócios, você pode encontrá-las com freqüência em um mecanismo de regras (por exemplo, Windows Workflow Foundation Rules Engine ) em vez de escrever o código bruto no seu sistema.
Perceba que a distinção lógica / regras é uma terminologia e pode ser discutida a noite toda (melhor tomar uma cerveja novamente). Embora essa não seja uma distinção incomum, os dois podem se misturar.