Salve a tutti,
Sto realizzando la mia prima applicazione 3-layer.
Ho costruito il mio DataLayer e le mie entities e relativi metodi del DL per inserire,modificare e ricercare le mie entità. Ho successivamente realizzato un BizComponent per ogni entità (es. CustomerBL,OrderBL e così via).
Ora la mia domanda è questa; mettiamo che io voglia creare un form nel PL che quando creo un cliente mi crei in automatico anche un ordine, che mi ci metta degli articoli a caso e che magari mi emetta anche la fattura, però non vorrei mettere questa logica nella classe CustomerBL sopracitata xchè voglio che sia confinata alla sola gestione del cliente e perchè magari voglio realizzare un'altro form che quando crea il cliente si limiti ad aggiornare la sola anagrafica e non a scatenare tutto questo processo che ho sopracitato.
Potete aiutarmi ? sono sulla strada giusta ?!
Grazie in anticipo a tutti quanti :
perfetto,
Contro domanda: a cosa servono i BizComponent?Contro domanda: a cosa servono i BizComponent?
quindi tui mi consigli una cosa del genere
// metodo di CustomerBL
void CustomerCreate()
{
// Crea Cliente
// Istanzia OrdineBL
// Chiama metodo create su OrderBL
} ?
Il problema è semplicemente questo, per ora l'applicazione non ha una logica predefinita se non quella di validazione a livello di entityfield e si limita a popolare il livello sottostante, gli unici controlli che fa sono delle validazioni definite dall'utente mediante un wizard sui campi delle entità, solo in un secondo momento mi diranno; guarda quando creo il cliente devi mettere anche l'ordine ma questa 'personalizzazione' deve essere gestita da una sorta di workflow che varia da installazione ad installazione, è x questo che non volevo mettere il create dell'ordine nella BL del cliente.
Quindi
- Release #1 : Gestisce i dati
- Release #2 : Orchestra l'interazione tra componenti
Scusa se mi sono dilungato troppo e spero di essermi fatto capire :P
Ciao