lezione 10

architettura

layer, dto e solid.

livello: avanzato durata: 30 min output: app scalabile badge: c# essentials

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
start a brief