dependency injection
interface IService { string Ping(); }
class Service : IService { public string Ping() => "ok"; }
classi
class Camera {
public string Model { get; }
public Camera(string model) => Model = model;
}
architettura
public record ProjectDto(int Id, string Name);
tipi base
string name = "Samir";
int year = 2026;
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 dependency injection lavoriamo su dependency injection, classi, architettura, tipi base 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 dependency injection in uno scenario reale
- capire e applicare classi in uno scenario reale
- capire e applicare architettura in uno scenario reale
- capire e applicare tipi base in uno scenario reale
scheda rapida
interface IService { string Ping(); }
class Service : IService { public string Ping() => "ok"; }
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 dependency injection 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