Caratteristiche del libro
Head first design pattern ci dice cosa sono i pattern, come usarli e come pensarli. Un modello è un modello, una soluzione universale per una serie specifica di problemi. I design pattern sono, a loro volta, soluzioni architetturali di uso comune che possono essere utilizzate per scrivere applicazioni flessibili e facili da usare. Gli sviluppatori di tutto il mondo risolvono gli stessi problemi con gli stessi approcci. Come dice l'annotazione, se non vuoi reinventare la ruota, utilizza modelli di progettazione (modelli) già pronti, con cui questo libro è dedicato a lavorare . Separatamente, vale la pena notare la presentazione del materiale: i libri della serie Head First sono famosi per la loro semplicità e vengono letti in una sola seduta. I “Design Patterns” non fanno eccezione. Aderisce inoltre ai seguenti principi fondamentali:- Visibilità
- Stile di presentazione colloquiale
- Un gran numero di illustrazioni
- Partecipazione attiva dei lettori
- Fare appello alle emozioni
- Catturare l'attenzione del lettore
Tema principale e idea chiave
"Sicuramente qualcuno ha già risolto il tuo problema" : così inizia il primo capitolo del libro, che trasmette l'intero significato dei design pattern nella programmazione. L'obiettivo principale è trasmettere correttamente il loro significato al lettore, perché prima di tutto il programmatore deve sapere a cosa servono i pattern e a che punto devono essere applicati. In sostanza, devi prima suddividere i modelli in piccoli pezzi nella tua testa e solo dopo implementarli nei programmi. Se un principiante nella programmazione ha una buona conoscenza dei pattern, il loro utilizzo può complicare notevolmente il codice (ma dovrebbe semplificarlo!). Alla domanda “Perché dovrebbero essere utilizzati i design pattern?” Il libro dà una risposta chiara: “Conoscere concetti come astrazione, ereditarietà e polimorfismo non ti rende un buon progettista OO. I modelli contengono una comprovata esperienza di progettazione OO."Riepilogo"
Il libro è diviso in 14 capitoli più un'introduzione. All'inizio, gli autori del libro cercano di preparare il lettore, di sintonizzare il suo cervello per percepire correttamente le informazioni sulla progettazione del modello. Il primo capitolo spiega il principio di base dei modelli e a quali scopi servono. Uno dei modelli più utilizzati, la strategia, viene esaminato in modo semplice e discreto. I capitoli da due a undici sono dedicati ad un’analisi dettagliata dei singoli modelli :- Osservatore. Distribuisce gli eventi tra gli oggetti interessati al loro verificarsi.
- Decoratore. Un altro sguardo all'ereditarietà in Java e all'assegnazione di nuove funzionalità alle classi Java senza modificare il codice.
- Fabbrica. Il modello salva il codice da dipendenze indesiderate.
- Separare. Conosciuto anche come Singleton, consente di creare un unico oggetto di classe per l'intero programma.
- Squadra. Il modello consente di incapsulare comodamente una chiamata al metodo, espandendone le capacità.
- Adattatore e facciata. Risolvere il problema dell'incompatibilità delle interfacce, nonché confezionare oggetti per semplificarne l'interfaccia.
- Metodo del modello. Incapsulamento di blocchi algoritmici, consentendo alle sottoclassi di associarsi all'algoritmo di elaborazione desiderato in qualsiasi momento.
- Iteratore e Linker. Il modello fornisce uno strumento utile per scorrere le raccolte, indipendentemente dal tipo. Inoltre, il capitolo fornisce alcune informazioni sulle supercollezioni.
- Stato. Gli oggetti sono dotati della capacità di controllare il proprio comportamento attraverso cambiamenti nel loro stato interno.
- Vice. Un modello molto conveniente per controllare l'accesso a un oggetto.
Vantaggi e svantaggi
Io, come molti di coloro che studiano alla JavaRush, ho un atteggiamento freddo nei confronti delle lezioni noiose, dello stipare materiale e di altre violenze contro la psiche di uno studente assetato di conoscenza. L'energia spesa per memorizzare testi incomprensibili, secondo me, è meglio spesa per trovare fonti alternative di apprendimento. Questo libro merita il tuo tempo e il tuo impegno. Uno stile di presentazione eccellente, una gestione competente dell'attenzione del lettore e la ripetizione dei punti chiave costituiscono il vantaggio principale di questo libro: la facilità di assimilazione del materiale . Un gran numero di illustrazioni è un ulteriore vantaggio. Secondo me, ogni immagine del libro ha il suo posto: tutte permettono di rafforzare le parole degli autori e di comprendere più a fondo l'essenza della materia. Come ho scritto sopra, questo libro non è un libro di consultazione: i suoi autori non intendono elencare tutti gli schemi. Il suo compito principale è fornire comprensione e parlare dei modelli di base in modo che altri, più complessi, siano più facili da comprendere. E lei lo affronta al 100%. Uno degli svantaggi è che i modelli di progettazione Head first in russo non sono così facili da leggere come in inglese. Naturalmente, ogni sviluppatore dovrebbe parlare inglese, ma i programmatori alle prime armi non sempre sviluppano questa abilità a tal punto da poter leggere i libri nell'originale. Tuttavia, questo può essere considerato un segno negativo forzato, poiché il materiale è presentato in modo abbastanza accurato e il significato è preservato.Altri libri sui design pattern
Sono un sostenitore della convinzione che sia meglio studiare argomenti fondamentali da diverse fonti e cercare in essi uno stile di presentazione adeguato. Quando vorrai immergerti negli schemi e leggere ulteriori teorie, credimi, avrai qualcosa con cui occupare le tue serate.-
Tecniche di progettazione orientata agli oggetti. Modelli di progettazione (Gamma E., Helm R., Johnson R., Vlissides J.).
Questa è una pubblicazione più seria, un libro di riferimento sui modelli, un libro molto rispettato della "Gang of Four". Molti la chiamano la bibbia del design OO.
Su Internet, le opinioni degli sviluppatori sono divise in 3 campi:
- alcuni sostengono che il libro sia obsoleto e lo stile di presentazione ne renda impossibile la lettura
- altri consigliano di utilizzare il libro esclusivamente come libro di riferimento sui modelli, niente di più
- altri ancora dicono che il libro è il Santo Graal dei design pattern e dovrebbe essere letto da chiunque voglia diventare un giorno uno sviluppatore Java senior
Importante:Gli esempi nel libro sono scritti in C++.
-
JavaEE. Modelli di progettazione per professionisti (Murat Yener, Alex Fidom).
Questo libro è dedicato alla progettazione di applicazioni Enterprise: copre molti esempi di problemi applicativi reali.
-
Modelli di progettazione in Java (Grand M.).
Il libro dimostra in modo colorito come l'uso dei pattern faccia risparmiare tempo agli sviluppatori, fornisce una panoramica del linguaggio UML e descrive 47 design pattern.
Modelli di progettazione in JavaRush
Nel corso JavaRush, i modelli di progettazione vengono appresi al livello 7 della ricerca Collezioni Java. Le lezioni 1 e 2 sono dedicate ai modelli più comuni e nella lezione 4 puoi risolvere problemi su questo argomento. Di seguito trovi alcuni articoli interessanti per “rafforzarti”:-
Un articolo generale sul tema dei pattern con categorie, esempi, tutto ciò che ci piace.
-
Due articoli sui pattern: parte 1 panoramica e parte più dettagliata 2 .
-
Progettare modelli utilizzando il modello Singleton come esempio .
-
Articoli sui modelli “ Strategia ” e “ Adattatore ”.
-
Il concetto di design pattern è legato ai diagrammi UML, questo articolo ti aiuterà a capire cosa sono.
GO TO FULL VERSION