Sto cercando di riscrivere un'applicazione che è per lo più procedurale rispetto a un approccio MVC / OO al fine di insegnarmi una comprensione più profonda di entrambi.
BUT, sto riscontrando alcuni problemi concettuali con il gruppo attuale / controllo di accesso che viene utilizzato.
Abbiamo Gruppi (Aziende) che hanno utenti basati su ruoli (Manager, venditori, clienti). Possono avere clienti assegnati a un venditore, oppure no. Il manager vede tutto, l'addetto alle vendite solo i clienti a lui assegnati.
Business
|
---Manager
|
---Salespersons
|
---Customers
|
---Customers
La struttura della tabella per questo attualmente è qualcosa del tipo:
users (userID [demographic info])
business (businessID, userID, et al [demographic info])
salespeople (salesID, businessID, userID [just foreign keys])
customers (customerID, businessID, userID, et al [demographic info])
salesAssignments (salesID, customerID [just foreign keys])
Il Manager può influenzare tutti all'interno di quel gruppo di aziende (ognuno ha un businessID
che li collega a quell'attività e nessun altro). I clienti possono accedere e apportare modifiche minori ai loro profili o interagire tramite messaggistica al proprio venditore o al responsabile delle attività commerciali.
Aggiunto Spice al mix: (commenta uno di questi se si applicano alle tue intuizioni alla domanda precedente) Esiste un modo migliore per avere un accesso e un controllo degli utenti simili? Voglio ricostruire il sito con un'API che può essere utilizzata sia dall'app Web sia dalle app mobili.
Modifica Il mio principale blocco concettuale al momento riguarda come ricreare questa struttura in un oggetto utente per la parte OO dell'applicazione. Ora tutto è accessibile tramite variabili di sessione, o interrogato dal DB tramite funzioni procedurali. Ancora una volta la mia comprensione di OO è limitata, e questo è un tentativo di capirlo.