PRINCIPLES
I - Interface Segregation Principle
Meglio molte interfacce specifiche che una troppo grande e generica. I client non devono dipendere da metodi che non usano.
Esempi di Codice
PROBLEMA: Violazione ISP
Interfaccia troppo grande. SimplePrinter deve implementare metodi inutili.
JAVASCRIPT
Loading...
SOLUZIONE: Interfacce segregate (ISP)
Interfacce piccole e specifiche. Implementa solo ciò che serve.
JAVASCRIPT
Loading...
Esempi nel Mondo Reale
React props (componenti ricevono solo props usate)
API endpoints (REST specifici vs endpoint gigante)
Database repositories (interfacce per query specifiche)
Quando Usarlo
Quando interfacce crescono troppo
Per dependency injection pulita
Client con esigenze diverse dalla stessa classe
Quando NON Usarlo
Non frammentare eccessivamente se non porta benefici
Pattern Correlati