CRUD è semplicemente il Crea, Leggi, Aggiorna, Elimina che fa un'applicazione.
In una certa misura, un tracker di bug è anche un'app CRUD. Crea bug, leggi (visualizza) i bug, aggiorna i bug e, forse, eliminali.
Tuttavia, c'è un altro tracker di bug oltre al semplice CRUD.
- A uno sviluppatore non è consentito contrassegnare il bug verificato o chiuso, fa parte del lavoro di QA. E quindi un po 'di codice è lì per assicurarsi che qualcuno a cui manca il ruolo del QA non possa contrassegnare un bug come chiuso o verificato.
- Nessuno, tranne un project manager, può effettivamente eliminare un bug.
- Affinché un bug sia contrassegnato come "test me", deve esserci almeno un commit di codice contro il bug.
- Solo un bug che si trova nello stato "chiuso" può essere spostato nello stato "riaprire"
- Lo sviluppatore assegnato al bug non può spostarlo da "revisione codice" a "revisione codice completata"
- Il QA e gli sviluppatori possono vedere solo i bug sui progetti a cui sono assegnati.
Il codice che implementa quanto sopra è la logica aziendale dell'applicazione.
La restrizione dei flussi di lavoro o chi può eseguire le varie operazioni in CRUD. Ecco cosa separa un'app CRUD da un'altra. Sono le parti in cui è necessario convincere l'azienda a dire effettivamente come funziona l'applicazione. Com'è logico ... beh, è meglio discuterne davanti a una birra fuori dall'orecchio del project manager. Ma questa è la logica aziendale.
Certo, è possibile scrivere un'app CRUD 'pura' dove non ci sono ruoli, tutto può essere modificato e visualizzato - ma queste sono l'eccezione piuttosto che la regola.
La logica aziendale è la logica che stai scrivendo nel tuo programma per gestire le regole aziendali che ti vengono fornite.
Quando inizi a entrare nelle regole aziendali, questo tende ad essere a un livello superiore rispetto al greggio stesso o alla logica aziendale. Questo tende ad essere le cose che ottieni da un analista aziendale che lavora con l'azienda.
Si consideri in questo esempio un programma che determina come gestire il reso di un articolo presso un banco resi in un negozio.
- Se la ricevuta è uguale o superiore a 90 giorni, è possibile dare solo credito in negozio
- Se la ricevuta ha meno di 90 giorni, accredita l'offerta con cui la ricevuta è stata utilizzata per l'acquisto (il credito ritorna sulla carta di credito, il denaro ritorna al denaro, il credito del negozio va al credito del negozio) ... a meno che non era un assegno, nel qual caso usare contanti.
Queste sono alcune regole commerciali. Non parlano con la parte CRUD dell'applicazione.
Quando si lavora con le regole di business, è possibile trovarle spesso in un motore di regole (ad esempio, Motore di regole di Windows Workflow Foundation ) invece di scrivere il codice non elaborato nel sistema.
Renditi conto che la distinzione logica / regole è quella della terminologia e può essere discussa per tutta la notte (meglio con una birra di nuovo). Anche se questa non è una distinzione insolita, sebbene i due possano fondersi l'uno con l'altro.