Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Id nella programmazione OOP

    Ciao!
    Ho letto su un libro che utilizzare un id come parametro di una classe è una procedura scorretta.

    Voi come vi comportate quando avete una situazione del genere?

    esempio inventato adesso:

    class Richiesta{

    public $prodotto_richiesto;
    public $cliente;
    }

    e ovviamente nel db entrambi i parametri sono contraddistinti da un id, la cui descrizione per ovvie ragioni sta su un'altra tabella.

    E' meglio inserire l'id nella classe o popolarla con i dati reali e solo dopo riferirsi al db con i relativi id?

    Spero di essermi spiegato bene
    Disegnatori e romanzieri d'Italia, visitate il mio sito, cerchiamo favolieri dark ed illustratori dark fantasy... http://www.neilgaimania.it

  2. #2
    Perchè sarebbe una procedura scorretta utilizzare l'id come parametro? Che spiegazione da il libro?

  3. #3
    Da Rumbaugh, J., Blama, M. (1995). Modelli e progetti object-oriented, Jackson Libri, Milano.

    Alcuni strumenti di implementazione, come molte basi di dati, richiedono che ogni oggetto abbia un identificatore unico che lo identifica. In un modello ad oggetto non sono richiesti gli identificatori espliciti. Ogni oggetto ha una sua identità unica. [...] Non c'è bisogno e soprattutto non si devono elencare esplicitamente gli identificatori. Gli identificatori sono un artificio informatico e non hanno un significato intrinseco che vada oltre l'identificazione di un oggetto.

    Non bisogna confondere gli identificatori interni con attributi del mondo reale. Gli identificatori interni sono semplicemente una comodità di implementazione e non hanno significato nel dominio del problema.
    A questo punto fa due esempi, uno errato e uno corretto.

    Esempio errato
    --------------------
    Persona
    --------------------
    persona ID:ID
    nome: string
    età: integer
    --------------------

    Esempio corretto
    --------------------
    Persona
    --------------------
    nome: string
    età: integer
    --------------------

    Disegnatori e romanzieri d'Italia, visitate il mio sito, cerchiamo favolieri dark ed illustratori dark fantasy... http://www.neilgaimania.it

  4. #4
    Parla di concetti diversi. E' vero che un oggetto non ha bisogno di un identificatore univoco, in quanto la sua istanza di per se è già univoca, ma parla di identificatori "interni". In realtà nel tuo caso l'id è un vero e proprio attributo, quindi è giusto utilizzarlo.

  5. #5
    Allora ho frainteso?

    Rimango ancora perplesso, però mi arrendo all'esperienza!

    Grazie
    Disegnatori e romanzieri d'Italia, visitate il mio sito, cerchiamo favolieri dark ed illustratori dark fantasy... http://www.neilgaimania.it

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.