Il Decorator Pattern: aggiungere responsabilità a una classe senza che essa lo sappia. L'esempio della rappresentazione grafica delle automobili. Il pattern Callback. Esercizio multimappa generica con Supplier. Conclusione del corso!
Blog e sito Web del corso di Metodologie di Programmazione (Corso di Laurea in Informatica, canale M-Z)
venerdì 27 maggio 2016
mercoledì 25 maggio 2016
Lezione 24/5/2016: design pattern (2)
L'Observer Pattern: un'applicazione di monitoraggio del tempo. La metafora dell'abbonamento. java.util.Observable e java.util.Observer. Separare la creazione degli oggetti. Il Simple Factory e il Factory Pattern. Permettere una singola istanza per una classe: il Singleton Pattern. L'esempio di Paperino e della rete semantica. Il Builder pattern.
sabato 21 maggio 2016
Lezione 20/5/2016: design pattern (1)
Che cos'è un design pattern. Lo Strategy Pattern: il simulatore di anatre.
martedì 17 maggio 2016
venerdì 13 maggio 2016
Lezione 13/5/2016: reflection e rilascio del codice
Introduzione alla Reflection. La classe Class.
Ottenere un oggetto di tipo Class: da istanze di tipi non primitivi, da
tipi primitivi, da tipi non primitivi, per nome: il metodo Class.forName. Scoprire i campi, metodi e costruttori di una classe. Esempio di uso della Reflection: creare intelligenze artificiali a tempo di esecuzione. Richiamare un determinato metodo a tempo di esecuzione.
Rilascio del codice: i file jar. Creazione di un file jar da console e con Eclipse. Jar eseguibili: il manifesto. Esecuzione di un file jar.
Rilascio del codice: i file jar. Creazione di un file jar da console e con Eclipse. Jar eseguibili: il manifesto. Esecuzione di un file jar.
mercoledì 11 maggio 2016
Lezione 10/05/2016: ancora sugli stream
IntStream, LongStream, DoubleStream. Passare da uno stream su tipi primitivi a uno stream su oggetti e viceversa. I Collector: joining, toList, toSet, toMap, toCollection, summingInt, averagingInt. Operazioni intermedie: limit, skip, flatMap. Creare un nuovo collector. Ottenere uno stream infinito. Copiare gli stream. Importanza dell'ordine delle operazioni. Ottimizzazione dell'ordine di esecuzione. Stream sequenziali e paralleli. Le mappe in Java 8.
venerdì 6 maggio 2016
Lezione 06/05/2016: gli stream!
La classe Optional. Gli stream: definizione; caratteristiche; operazioni intermedie e terminali. Metodi principali dell'interfaccia java.util.stream.Stream.
Comportamento "pigro" (lazy) degli stream. Operazioni senza stato e con
stato. Stream ottimizzati per i tipi primitivi: IntStream, DoubleStream
e LongStream. Come ottenere uno stream: da elenco di valori, da una
Collection, da un array, da un file. Differenza tra iterazione interna
ed esterna. Metodi di Stream: min/max, filter, forEach, count, sorted,
map, distinct, reduce, collect, anyMatch, allMatch, noneMatch,
findFirst, findAny, mapToInt. Collectors: counting, maxBy/minBy,
summingInt, averagingInt, joining, toList, toSet, groupingBy,
partitioningBy.
mercoledì 4 maggio 2016
Presentazione dei progetti: 04/05/2016
Abbiamo presentato i due progetti: My Neural Network (MyNN) e Crucy (cruciverba dinamico). Tutte le informazioni accessibili dal gruppo degli studenti!
martedì 3 maggio 2016
Lezione 03/05/2016: input/output in Java
Input & output: gli oggetti System.out e System.in. InputStream, PrintStream e la classe Scanner. File di testo e file binari. Gli stream. Gerarchie di classi stream. Leggere e scrivere un file di testo: la classe java.io.File. BufferedReader/FileReader, BufferedWriter/FileWriter. Leggere e scrivere un file di testo formattato: le classi Formatter e Scanner. Il package java.nio: Path, Paths e Files. Serializzare e deserializzare un oggetto. L'interfaccia Serializable e il serialVersionUID. La parola chiave transient.
Iscriviti a:
Post (Atom)