Originariamente inviato da riccardone
Quindi in questa specie di caso d'uso che hai descritto ci sono due entita'
cliente e ciclomotore
Per registrare cosa? Ci sono 3 possibili cose che potrebbe registrare nella sua azione ma non si capisce a quale delle tre ti riferisci (il negozio? il cliente? il ciclomotore?...) da questa tua frase non si capisce un granche' e mi sembra non ci faccia molta chiarezza il resto.
Te lo dico per stimolarti ad effettuare una analisi migliore prima di iniziare lo sviluppo effettivo di una qualsiasi applicazione (piccola o grande che sia).
La strada da seguire potrebbe essere quella di scrivere dei semplici casi d'uso (use case). Identificare le entita' presenti nei casi d'uso e definirne meglio i contorni (attributi) e le azioni (metodi e funzioni).
Passare quindi a creare una libreria di classi che sara' il livello di business logic della nostra applicazione e che conterra' ad esempio la classe cliente con i suoi attributi e la classe ciclomotore con i suoi attributi. Aggiungere poi ad esempio alla classe cliente i metodi nuovo modifica elimina elencoclienti trovacliente e lo stesso per la classe ciclomotore. Il codice per collegarti direttamente al db puoi metterlo dentro questi metodi oppure se ti interessa passare da un db all'altro piu' facilmente puoi creare un altro livello di accesso ai dati mettendo in un altra libreria il codice che si interfaccia direttamente con il db (mysql, sqlserver, access ecc.). Alla fine ti diverti a creare l'interfaccia utente.
Quindi l'applicativo dovrebbe avere
- un progetto A che interagisce con l'utente
- un progetto B che contiene la business logic
- un progetto C che gestisce i collegamenti col database
Il progetto A fara' riferimento al progetto B. Il progetto B fara' riferimento al progetto C.
Questo approccio, rende piu' gestibile il tuo codice, piu' portabile su diversi db e permette un miglior sviluppo anche in vista di aggiunte future. Un approccio di questo tipo anche se si tratta di piccoli progetti, ti aiuta ad entrare nella giusta logica di programmazione se sviluppi da solo i tuoi progetti e diventa indispensabile se lavori in team. Non e' comunque qualcosa la cui bonta' si impara da un post su un newsgroup ma necessita si studio ed esperienza.