Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Classi e Logica

  1. #1
    Utente di HTML.it L'avatar di Franz78
    Registrato dal
    Sep 2004
    Messaggi
    730

    Classi e Logica

    Ciao a tutti, sto iniziando a sviluppare un portale per la gestione di diversi contenuti e pensavo di implementare il tutto con l'utilizzo delle classi..

    siccome nn sono molto ferrato in materia...ho iniziato da poco lo studio serio delle classi mi chiedevo se la logica che sto applicando è giusta.

    Ad esempio devo poter gestire delle foto con delle caratteristiche ed ho sviluppato una classe FOTO cosi:

    codice:
    public class Foto
    {
        private string prvFileName;
        private DateTime prvData;
    
        public string FileName
        {
            get { return prvFileName; }
    		set{prvFileName= value;}
        }
    
        public Datetime DataInserimento
        {
            get { return prvCaratteristiche; }
            set { prvCaratteristiche = value; }
        }
    }
    e poi ne ho fatta un altra con i metodi per la gestione degli aggiornamenti eliminazione caricamento ecc.......a cui passo l'oggetto foto di cui sopra o l'id...

    codice:
    public class mngFoto
    {
        public loadFoto(int idFoto){
           .......
        }
        ecc...
        ecc...
    
    }
    volevo sapere se come Logica funzionava....se è corretto sviluppare in questo modo... o meglio sarebbe usare altri sistemi...ed eventualmente quali


    Grazie per le gentili risposte
    Ciao !!!

  2. #2
    In genere si consiglia di adottare una qualche convenzione per la nomenclatura dei vari membri per facilitare la vita a chi utilizza le classi e quindi rispettando una certa coerenza.
    I membri pubblici hanno sempre la prima lettera maiuscola.
    I membri privati hanno sempre la prima lettera minuscola e le altre parole di cui e' composto il nome maiuscole (camel case) es. nomePersona
    Per evitare confusione, in genere i membri privati hanno anche un segno iniziale che li caratterizza es. m_nomePersona in modo da non fare confusione con l'eventuale membro pubblico che li restituisce all'esterno della classe es. NomePersona.
    I nomi dei membri, delle classi e delle variabili in genere dovrebbero essere abbastanza esplicativi per far capire di cosa di tratta. Di solito, si dice che un codice ben scritto non ha bisogno di commenti xche' si commenta da solo.

    Detto questo, nel tuo caso specifico la classe manager (che quindi potresti chiamare es. FotoManager) potrebbe avere una funzione GetFoto che restituisce un oggetto Foto accettando un parametro _idFoto.
    Saluti a tutti
    Riccardo

  3. #3
    Utente di HTML.it L'avatar di Franz78
    Registrato dal
    Sep 2004
    Messaggi
    730
    si ok....fin qui ci sono..hai ragione dovrei rispettare le regole di scrittura...
    io volevo sapere se come logica funziona lavorando con queste 2 classi...anke perche in seguito ho altri contenuti che farò in questo modo....

  4. #4
    Originariamente inviato da Franz78
    io volevo sapere se come logica funziona lavorando con queste 2 classi...
    Mi sembra che implicitamente abbia detto si (per quanto puo' valere il mio parere). Non si capisce bene quel loadFoto cosa faccia e soprattutto che cosa restituisce quindi ti ho consigliato di chiamarlo GetFoto e far restituire un oggetto foto.
    Solitamente ricorro spesso a classi che mantengono i dati (che possiamo chiamare le entita) leggere e con poca logica e classi manager che effettuano le varie operazioni CRUD (GetAll, GetByID, Insert, Update, Delete ecc.).
    Saluti a tutti
    Riccardo

  5. #5
    Utente di HTML.it L'avatar di Franz78
    Registrato dal
    Sep 2004
    Messaggi
    730
    si ok..ho scritto loadFoto come esempio.. per fare capire quello che intendevo fare niente d +..
    ti ringrazio..un parere vale sempre, si fa tesoro dei consigli!!


    Ciao e grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.