I principi s.o.l.i.d. - conclusioni

in Informatica, Programmazione

I principi S.O.L.I.D. – ISP

Interface Segregation Principle (ISP):

Ogni client non deve implementare interfacce che non usa. Invece di strutturare i moduli implementando un’unica interfaccia, è preferibile organizzare il nostro progetto con interfacce separate (e quindi moduli separati).

Come per le classi (dal principio SRP visto in precedenza) anche le interfacce dovrebbero essere definite per specifiche responsabilità. Quando una classe non necessità di una specifica funzionalità, non è necessario implementarla. Maggiore è il numero di metodi definiti all’interno di un’interfaccia, e maggiore sarà la probabilità che non siano utilizzati.

Supponiamo di avere la seguente interfaccia:

public Interface ILead  
{  
   void CreateSubTask();  
   void AssginTask();  
   void WorkOnTask();  
}

Possiamo facilmente scomporla nelle seguenti interfacce, in modo da separare le funzionalità legate ai Lead  rispetto a quelle dei programmatori.

public interface IProgrammer  
{  
   void WorkOnTask();  
}   

public interface ILead  
{  
   void AssignTask();  
   void CreateSubTask();  
}

Un programmatore, non necessariamente dovrà assegnare dei task e creare subtask.