architettura
public record ProjectDto(int Id, string Name);
dependency injection
interface IService { string Ping(); }
class Service : IService { public string Ping() => "ok"; }
record
record Project(string Name, int Shots);
classi
class Camera {
public string Model { get; }
public Camera(string model) => Model = model;
}
esercizi
usa record e linq per filtrare dati.
record Item(int Id, string Name);
var items = new List<Item> { new(1, "A"), new(2, "B") };
var names = items.Select(i => i.Name).ToList();
Console.WriteLine(string.Join(",", names));
panoramica
In questo capitolo su architettura lavoriamo su architettura, dependency injection, record, classi per creare micro-pattern riutilizzabili.
lavora in sequenza: leggi, prova, modifica gli snippet e annota i trade-off principali.
badge: c# essentials
obiettivi
- capire e applicare architettura in uno scenario reale
- capire e applicare dependency injection in uno scenario reale
- capire e applicare record in uno scenario reale
- capire e applicare classi in uno scenario reale
scheda rapida
public record ProjectDto(int Id, string Name);
adatta questo scheletro agli esempi della lezione.
tips
- preferisci async/await
- usa record per dati immutabili
- inietta dipendenze
- testa i servizi
- documenta le api
- mantieni architettura leggibile
tip: documenta ogni scelta architetturale.
mini progetto
filtra una lista con linq.
- crea list
- applica where
- stampa
output atteso: lista filtrata.
checklist
- ho eseguito gli snippet e controllato l'output
- ho annotato almeno 2 trade-off
- ho completato il mini progetto
- ho salvato un riepilogo personale