700 messaggi dal 18 febbraio 2002
www.dimsolutions.it
Salve,
ho questo scenario di 3 classi:

Classe Frm (contiene la pagina e un gridview per ora)

Classe Database (contiente metodi per operazioni su db)
Classe Cliente (contiene metodi che mi restituiscono lista clienti, cancellazione, modifica ecc.)


La classe Frm contiene un gridView per mostrare l'elenco dei clienti, questa chiama un metodo della classe Cliente, la class Cliente chiama un metodo nella classe Database per eseguire l'operazione i dati vengono restituiti alla classe Frm che visualizza nel gridview.

Quello che mi occorre sapere è come le chiamate dei metodi possono essere fatte nel modo più chiaro e mantenibile possibile, contanto che è una piccola applicazione ma che forse in futuro potrà crescere.

adesso richiamo il metodo di una classe da un'altra facendo un'istanza:

cliente cli = new cliente();
cli.metodo();

oppure utilizzare le interfaccie? se si come?

oppure va bene questa soluzione o ce ne sono altre secondo voi migliori da adottare?

grazie
dovresti trovare diverso materiale su Aspitalia riguardo l'architere a strati e il Provider Model.

poi il 14 maggio a firenze c'è un evento dove trovarai diversi spunti.

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
700 messaggi dal 18 febbraio 2002
www.dimsolutions.it
ho dato uno sguardo agli articoli presenti sul sito. ho trovato articoli generici sulla programmazione ad oggetti poi però all'atto pratico vengono dei dubbi.

Per esempio qui nel caso mio è meglio chiamare le funzioni delle altre classi con l'istanza della classe o esporre a quest'ultime un'interfaccia per l'accesso?
hai già letto anche questo:

http://www.aspitalia.com/articoli/asp.net2/provider_model_pattern.aspx


dovrebbe rispondere a molte tue domande.

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
9 messaggi dal 07 aprile 2006
Prova a strutturare le classi in base al modello di programmazione degli oggetti Business. In pratica, la classe GridView preleva i dati dalla una classe intermedia tra il database e la gridview stessa.
Non costruire una classe che opera sul database per poi restituire i dati direttamente alla grid.
I dati vanno restituiti alla classe che 'cattura' i dati per la gridview.
700 messaggi dal 18 febbraio 2002
www.dimsolutions.it
C#MIMMO ha scritto:
Prova a strutturare le classi in base al modello di programmazione degli oggetti Business. In pratica, la classe GridView preleva i dati dalla una classe intermedia tra il database e la gridview stessa.
Non costruire una classe che opera sul database per poi restituire i dati direttamente alla grid.
I dati vanno restituiti alla classe che 'cattura' i dati per la gridview.


si forse mi sono spiegato male I dati infatti sono restituiti alla classe che 'cattura' i dati per la gridview.

quello che mi interessava sapere a me è come richiamare queste classi direttamente creando un'istanza del tipo:

cliente cli = new cliente();
cli.metodo();

o conviene utilizzare un'interfaccia della classe che si occupa di prelevare i dati.
come ti dicevo dai un occhiata all'articolo che ti ho suggerito.

ci sono diversi modi per rendere un applicazione scalabile e sufficentemente disaccoppiata tra i propri strati.

potresti usare un Factory pattern, in associazione con il provider pattern e la dependecy iniection.

detti così sono una marea di paroloni.

in pratica sono soluzioni per problemi ricorrenti, come il disaccoppiamento e il riutilizzo.

ritornando sulla terra, se molte classi condividono il solito comportamento usa un interfaccia o meglio crea un interfaccia e fai che i tuoi oggetti l'implementino, ma se solo un oggetto l'implemeta è superfluo.

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.