Nel tutorial lo sto facendo usa le interfacce per iniettare cose, ad esempio usa un'interfaccia IHotDrink , quindi crea una classe Tea che implementa IHotDrink . Ha quindi una terza classe chiamata Ristorante che ha un campo IHotDrink all'interno della classe e assegna un valore ad esso nel costruttore. In seguito, inserisce una Classe di tè nel costruttore della classe Restaurant (che accetta un argomento dell'interfaccia di IHotDrink)
Quindi fondamentalmente la mia domanda è: ogni campo che verrà iniettato deve essere un'interfaccia?
Diciamo che ho un sacco di prodotti alimentari che implementano un'interfaccia IHotFoods e un mucchio di bevande che implementano tutte l'interfaccia IHotDrink , sarebbe ok se Ho una classe pasto che non implementa nulla e utilizza un'interfaccia IHotFood e un'interfaccia IHotDrink come argomenti nel suo costruttore (che in seguito essere iniettato da diversi corsi di cibo / bevande e poi avere un campo pasto nella classe ristorante che posso iniettare con diversi oggetti pasto? Questo andrebbe bene? O dovrei: Interagire con i pasti, consumare pasti e fare in modo che il ristorante abbia un campo di interfaccia per i pasti in cui posso inserire del cibo?
Modifica: non sto chiedendo se ogni classe dovrebbe implementare un'interfaccia, sto chiedendo se devono sempre avere campi di interfaccia per iniettare altre classi in loro che implementare anche l'interfaccia. (come nell'esempio nel tutorial)