Modelli.
Come impari a suonare la chitarra di piano e ? Come impari lo spagnolo e spagnolo? Come eccellete nel calcio e nel calcio?
Ogni volta che stai imparando due cose distinte ma correlate, ci sono almeno due aspetti importanti del processo. Il primo è imparare e praticare ogni cosa da solo. Il secondo è guardare attraverso quella cosa al più profondo, comune corpo di conoscenza e apprezzare la relazione della cosa con quella conoscenza. Con il pianostrong e la chitarra, questa conoscenza è ovviamente musica. Una volta acquisita una solida conoscenza della musica, il processo di apprendimento di un terzo o quarto strumento diventa più semplice. Lo stesso vale per le lingue, gli sport e anche i framework orientati agli oggetti.
La maggior parte delle strutture applicative orientate agli oggetti avrà un insieme di classi di archiviazione dei dati, un insieme di classi che rappresentano le cose che vengono disegnate sullo schermo e un modo per far lavorare insieme quei due gruppi. Ci saranno gerarchie di ereditarietà, gerarchie di contenimento e grafici di comando / controllo. Possono esserci classi per modificare altre classi, comunicare con il mondo oltre il quadro e così via.
Queste funzionalità comuni sono chiamate schemi di progettazione e rappresentano la conoscenza più profonda dietro i framework degli oggetti. Ognuno ha un nome (a volte diversi) e la maggior parte dei modelli noti sono catalogati nel libro Modelli di design . Può essere difficile imparare a conoscere i pattern in astratto, così come è più difficile imparare la teoria musicale senza l'esperienza concreta che deriva dal suonare uno strumento. Una volta acquisita esperienza con uno o due framework, l'apprendimento dei pattern di progettazione porta a una serie di " aha! "momenti in cui riconosci i pattern che stai leggendo nel / i framework che già conosci.
Quindi, continua a farlo, cerca gli elementi comuni tra i framework che stai imparando e, a un certo punto, dedica del tempo a imparare a conoscere i pattern dietro i framework. Quella conoscenza ti darà una comprensione più profonda di ciò che già sai, e ti guiderà e ti aiuterà a sapere cosa cercare o cosa potresti perdere mentre impari un nuovo framework.