Lessico IT › Programmazione › Legge di Demetra

Legge di Demetra

Programmazione Svenska → Aggiornato: 2026-10-02

Un oggetto dovrebbe chiamare metodi solo su se stesso, sui propri campi, sui propri parametri o sugli oggetti che crea, non catene «da incidente ferroviario» come a.b().c().d().

Formulata alla Northeastern University nel 1987 (per il progetto Demeter). Viene spesso violata da API fluenti e catene (query builder degli ORM), il che è accettabile: la legge riguarda il non esporre la struttura interna di oggetti altrui. Passare un User a un metodo che poi chiama user.getAddress().getCity().getZip() accoppia il codice all'intero grafo di oggetti. Meglio dare al metodo soltanto il CAP.

← Torna al lessico