Consiglio Business Layer

rated by 0 users
This post has 3 Replies | 1 Follower

Top 50 Partecipanti
Post 2
Punteggio 40
GiulianoGro Posted: 11-01-2009 2.50

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 :

Top 10 Partecipanti
Post 143
Punteggio 2.560
Ciao Giuliano,

You wrote on 01/11/2009 :
> 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).

Contro domanda: a cosa servono i BizComponent?

> 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 ?!

avrei un componente di business/servizio specializzato per fare quel
set di operazioni.

Un consiglio: non focalizzarti su dei requisiti che non ci sono, ma
concentrati solo su quelli che ci sono, non stai costruendo un
framework che dovrai vendere e non sai come verr� usato, ma stai
costruendo un'applicazione che deve soddisfare degli scenari ben
precisi.

> Grazie in anticipo a tutti quanti :

..m

--
Mauro Servienti
{C67C0157-5D98-4733-A75E-93CAEE4BADC8}
Microsoft MVP - Visual C# / MCP
http://mvp.support.microsoft.com
http://blogs.ugidotnet.org/topics
whynot [ at ] topics [ dot ] it
  • | Punteggio Post: 20
Top 50 Partecipanti
Post 2
Punteggio 40

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

  • | Punteggio Post: 20
Top 10 Partecipanti
Post 143
Punteggio 2.560
Ciao Giuliano,

You wrote on 01/11/2009 :
> perfetto,
>
>
>
> Contro domanda: a cosa servono i BizComponent?
> quindi tui mi consigli una cosa del genere

nessun consiglio in particolare, ho solo chiesto perch� ai un
BusinessLayer per ogni entity.

> 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

quindi solo qui introdurrei i businesslayer dove servono e basta, non
l'ha mica detto il dottore che ci deve essere un BL ;-)

> Ciao

Ciao,
..m

--
Mauro Servienti
{C67C0157-5D98-4733-A75E-93CAEE4BADC8}
Microsoft MVP - Visual C# / MCP
http://mvp.support.microsoft.com
http://blogs.ugidotnet.org/topics
whynot [ at ] topics [ dot ] it
  • | Punteggio Post: 5
Pagina 1 di 1 (4 elementi) | RSS
Powered by Community Server (Commercial Edition), by Telligent Systems