Attualmente sto facendo qualche lavoro di progettazione API, coinvolgendo la specifica di un certo numero di interfacce come astrazioni che verranno successivamente implementate da varie classi concrete.Ottenere il giusto livello di granularità dell'interfaccia
Come accade, sto usando Java, ma penso che la domanda sia pertinente a qualsiasi linguaggio che supporti un concetto di interfaccia simile.
ho notato che v'è spesso una scelta tra:
- Fare una grande interfaccia con una gamma completa di metodi
- Rendere più interfacce contenenti ciascuno un sottoinsieme di tutta la gamma di metodi (un la singola classe concreta dovrebbe probabilmente implementare molte o tutte queste interfacce)
Quali sono i pro/contro di ciascun approccio?
hai visto l'articolo di Bob Martin sul principio di segregazione dell'interfaccia? http://www.objectmentor.com/resources/articles/isp.pdf –
@Nathan - articolo molto interessante - grazie! – mikera
@NathanHughes Il link non è più disponibile. – byxor