Mi consigliate il miglior libro OO che avete letto?

di il
12 risposte

Mi consigliate il miglior libro OO che avete letto?

In base alla vostra esperienza qual è il miglior libro dedicato alla programmazione ad oggetti che avete letto? In altre parole quale mi consigliate di leggere?
Premetto che non mi interessa che sia incentrato su uno specifico linguaggio, mi serve solo per acquisire il giusto status mentis.

Il libro meglio se in italiano, ma se il meglio si trova solo in inglese, nessun problema.

12 Risposte

  • Re: Mi consigliate il miglior libro OO che avete letto?

    Ciao American horizon,

    Un classico che non puoi non aver letto, anzi studiato:

    Design Patterns.
    di Gamma, Helm, Jonson, Vlissides.
  • Re: Mi consigliate il miglior libro OO che avete letto?

    Sarebbe questo?
    http://en.wikipedia.org/wiki/Design_Pattern

    Ma è normale che è un saggio risalente al 1994? Non è cambiato nulla da allora?
  • Re: Mi consigliate il miglior libro OO che avete letto?

    American horizon ha scritto:


    Sarebbe questo?
    http://en.wikipedia.org/wiki/Design_Pattern

    Ma è normale che è un saggio risalente al 1994? Non è cambiato nulla da allora?
    Si, io sono invecchiato, ma la programmazione a oggetti è rimasta la stessa, i concetti non sono cambiati.
    Esiste anche la versione italiana della Addison-Wesley (prima edizione del 2002).

    In ogni caso seguo pure io con interesse questo thread, se salta fuori qualcos' altro di interessante le leggo pure io.
  • Re: Mi consigliate il miglior libro OO che avete letto?

    Anch' io ti consiglio i Design Patterns, sono usciti libri di altri autori sempre sui Patterns, ad esempio quello di Shalloway & Trot. Ma il classico dei classici è quello di Gamma & C.

    Del resto se tu volessi un consiglio su un libro che parla della relatività, il migliore è del 1922.

    Attenzione che Design Patterns non è una lettura facile!
  • Re: Mi consigliate il miglior libro OO che avete letto?

    ItaloPasi ha scritto:



    Attenzione che Design Patterns non è una lettura facile!
    giusto per prepararmi mentalmente, cosa devo aspettarmi di poco facile? Vengono affrontate anche questioni non spiegate nel libro e che si dà per scontato debbano essere conosciute?
  • Re: Mi consigliate il miglior libro OO che avete letto?

    Ce ne sono anche altri interessanti:

    Enterprise Integration Patterns

    La serie Pattern Languages of Program Design.

    tra il serio ed il faceto: Antipatterns


    La programmazione ad oggetti non e' nulla se uno non ha chiaro come scomporre il problema in oggetti, quali siano le responsabilita' di ogni oggetto e come gli oggetti devono comunicare tra loro.

    Il vero passo successivo e' quello di usare altri paradigmi di programmazione: funzionale, logica, a regole, ad attori, data flow, ...

    Sono concetti degli anni 60, ma ancora oggi non completamente compresi.

    Ad esempio: la programmazione funzionale e' una manna per i sistemi multicore odierni: e' possibile delegare parte dell'elaborazione ad ogni core in modo praticamente trasparente all'architettura hardware sottostante.

    Al MIT hanno inventato un linguaggio per la rappresentazione deli algoritmi di elaborazione delle immagini che permtte di sfruttare al meglio i core dei cellulari di ultima generazione. Non voglio dire, ma ci sono cellulari a 8 core! Ed il linguaggio e' funzionale.
  • Re: Mi consigliate il miglior libro OO che avete letto?

    American horizon ha scritto:


    giusto per prepararmi mentalmente, cosa devo aspettarmi di poco facile? Vengono affrontate anche questioni non spiegate nel libro e che si dà per scontato debbano essere conosciute?
    Ti copio le prime righe della prefazione che indica le conoscenze richieste.

    Questo libro presuppone che si sia ragionevolmente esperti in almeno un linguaggio di programmazione ad oggetti, e si dovrebbe anche avere una certa esperienza nella progettazione di software ad oggetti. Non dovrebbe essere necessario far ricorso al vocabolario più vicino quando si dovessero incontrare parole come 'tipo' e 'polimorfismo', o ereditarietà di 'intercaccia' piuttosto che di 'implementazione'.

    In pratica non è un libro per imparare la programmazione ad oggetti, ma per diventarne degli artisti.

    E poi prosegue:

    Un avviso e un incoraggiamento: non ci si deve preoccupare se non si capisce questo libro completamente fin dalla prima lettura. Noi non lo abbiamo capito completamente alla prima lettura.
    Come vedi sono pure spiritosi.
  • Re: Mi consigliate il miglior libro OO che avete letto?

    E ma allora non è quello che cerco.. io voglio IMPARARE a ragionare ad oggetti presupponendo che alcune nozioni già le ho (insomma, so la questione dei tipi, del poliformismo, dell'astrazione, etc etc..), a diventare un "artista" poi si vedrà.

    Cmq ho letto le prime pagine della versione inglese, e da quel che ho capito si occupa principalmente di spiegare diversi approcci definiti per l'appunto patterns. Insomma, non esiste un approccio univoco nel progettare un software suddiviso in oggetti, ma diversi "schemi" a cui attingere per suddividere le varie classi in oggetti.
    Giusto?

    Nel libro ad esempio, alcuni pattern che vengono descritti sono
    Factory Method (107)
    Abstract Factory (87)
    Builder (97)
    Prototype (117)
    Singleton (127)
    etc etc..
  • Re: Mi consigliate il miglior libro OO che avete letto?

    American horizon ha scritto:


    E ma allora non è quello che cerco.. io voglio IMPARARE a ragionare ad oggetti presupponendo che alcune nozioni già le ho
    Effettivamente pure io speravo che ci fossero altre proposte di libri. Ho capito che tipo di libro cerchi, adesso mi guardo un po in giro che la cosa interessa anche a me, se trovo qualcosa te lo dico.

    Tornando ai patterns, quando progetti un software, inizi a identificare le classi che risolvono il tuo problema, definisci le interazioni tra gli oggetti, il modo in cui vengono creati e distrutti ecc. ecc. progettisti diversi troveranno soluzioni differenti, però dopo un pò scopri che certe soluzioni sono ricorrenti. Appunto per non stare a reinventare l' acqua calda queste soluzioni ricorrenti sono state catalogate come Patterns.

    Dato che i Pattern sono la soluzione a problemi concreti, studiarli è utile perchè vedi come si deve ragionare ad oggetti.

    Ad di la del libro (che ripeto è un po pesantino) se studi qualche pattern che trovi qua e la in internet impieghi bene il tuo tempo. Ad esempio se ti occupi di interfacce grafiche (che siano Apple o Window non importa) devi avere a che fare con pattern come il MVVM (Model View ViewModel) o con l' MVC (Model View Controller).
  • Re: Mi consigliate il miglior libro OO che avete letto?

    Ciao,

    i libri che ti hanno suggerito sono validi.

    Tuttavia se vuoi cominciare a studiare programmazione OO non ritengo corretto iniziare dallo studio dei design pattern che vedo piu' come un traguardo rispetto ad un inizio

    Non ricordo all'universita che libro avevo usato per iniziare OO.. se mi viene in mente te lo scrivo
  • Re: Mi consigliate il miglior libro OO che avete letto?

    A me servirebbero per lo più esempi concreti, ad esempio questo che ho trovato su YT

    Ad di la del libro (che ripeto è un po pesantino) se studi qualche pattern che trovi qua e la in internet impieghi bene il tuo tempo. Ad esempio se ti occupi di interfacce grafiche (che siano Apple o Window non importa) devi avere a che fare con pattern come il MVVM (Model View ViewModel) o con l' MVC (Model View Controller).
    Di interfaccie grafiche o GUI me ne occupo se non atro per i siti o qualche applicazione in flash. E' la stessa cosa? Per dire, i pulsanti "rispondi", "quota" etc etc.. di questa pagina sono considerabili interfacce grafiche per cui andrebbe applicato anche ad essi il modello OO ?
    Poi non capisco, la componente grafica, ad esempio un pulsante "Invia", fa parte dell'oggetto in sé assieme all'algoritmo che va ad eseguire, oppure pulsante e script sono strutturari in maniera distinta?
  • Re: Mi consigliate il miglior libro OO che avete letto?

    Visto che conosci Flash, ad esempio action script dovrebbe basarsi su un pattern chiamato MVP Model View Presenter (ho usato il condizionale perchè è un po che non uso Flash e non vorrei dire stupidaggini ) Comunque butta un occhio a questo link:

    http://www.actionscript.it/it/index.cfm/tutorials/design-patterns-e-model-view-presenter/
Devi accedere o registrarti per scrivere nel forum
12 risposte