Progettazione orientata agli oggetti con MATLAB
Guarda il programma e iscrivitiDettagli dei corsi
Una base di codice è difficile da gestire nel tempo a causa dell'evoluzione dei requisiti e della crescente complessità. Imparare come migliorare la mantenibilità e l'estensibilità del codice orientato agli oggetti ristrutturandolo in un insieme di classi con responsabilità chiare e interdipendenze ridotte. Comprendere le cause principali dei progetti di codice difficili da gestire e come prevenirle seguendo principi di progettazione generici. Risolvere problemi di progettazione comuni ed evitare le insidie utilizzando modelli di progettazione specifici. I concetti vengono spiegati attraverso casi d'uso, esempi pratici ed esercitazioni pratiche durante tutta la formazione. I diagrammi di classe UML sono utilizzati per visualizzare i concetti e le idee di progettazione appena presentati.
Elenco degli argomenti:
- Scrittura di software mantenibile ed estensibile grazie all'applicazione di principi di progettazione orientati agli oggetti.
- Risoluzione efficiente dei problemi ricorrenti di progettazione del software grazie all'utilizzo di modelli di progettazione collaudati nel tempo.
- Visualizzazione dei progetti orientati agli oggetti in modo standardizzato utilizzando i diagrammi UML.
Giorno 1/2
Principi di progettazione orientata agli oggetti
Obiettivo: Seguire delle linee guida collaudate per rendere le applicazioni mantenibili, flessibili e semplici da estendere.
- Approccio all'incapsulamento degli elemeti variabili mediante l'estrazione di codice soggetto a modifiche in una classe separata
- Sperimentazione dei vantaggi nel preferire la composizione rispetto all'ereditarietà e all'aggiunta di ulteriori metodi alla classe
- Determinazione dell'utilizzo di classi handle o classi valore per memorizzare i dati
- Principio di responsabilità unica, ossia perché evitare di avere un unico God Object
- Principio aperto-chiuso, ossia come utilizzare le gerarchie per rendere il codice aperto all'estensione, ma chiuso alla modifica
- Principio di Sostituzione di Liskov, ovvero perché si dovrebbero utilizzare le sottoclassi per aggiungere nuove funzionalità, ma non per rimuovere quelle non necessarie
- Principio di separazione delle interfacce, ovvero come diverse piccole classi astratte possono aiutare a riutilizzare il codice
- Principio di inversione delle dipendenze, ovvero come la dipendenza da metodi o proprietà astratte anziché concrete possa rendere il codice più flessibile
Giorno 2/2
Modelli di progettazione
Obiettivo: Risolvere in modo efficiente i problemi comuni di progettazione del software utilizzando un insieme consolidato di classi e di relazioni tra classi, definito dai modelli di progettazione.
- Coppia di proprietà pubblica e privata: un pattern che consente di garantire che due proprietà abbiano sempre la stessa lunghezza
- Osservatore: un pattern che consente a una classe di reagire automaticamente alle modifiche di un'altra classe, ideale per la visualizzazione di dati in tempo reale nelle applicazioni
- Metodo template: un pattern che garantisce che versioni diverse di un algoritmo seguano sempre lo stesso insieme di passaggi, anche se i passaggi stessi possono differire
- Strategia: un pattern che consente di inserire diverse versioni di un algoritmo in un altro algoritmo
- Creatore semplice: un pattern per creare un oggetto di una sottoclasse specifica, basato su un insieme di regole
- Singleton: un pattern che garantisce l'esistenza di un solo oggetto di una classe specifica, ideale per garantire che sia presente un'unica istanza aperta di un'applicazione
- Adattatore: un pattern per modificare l'interfaccia utente di un algoritmo consentendo, ad esempio, l'utilizzo di codice legacy
- Facciata: un pattern che incapsula un algoritmo complicato che richiede diversi oggetti e passaggi
Livello: Avanzato
Prerequisiti:
Programmazione orientata agli oggetti con MATLAB o conoscenza esistente della programmazione orientata agli oggetti in MATLAB.
Durata: 2 giorno
Lingue: English