Sto creando il modello di dominio nel mio sistema. Quando si progettano i miei oggetti modello, dovrei creare interfacce per ciascun oggetto entità? Le persone mi hanno detto che il nostro livello web non dovrebbe preoccuparsi dell'implementazione di un'entità e dovremmo essere in grado di sostituire le implementazioni, ma non sono sicuro che ciò accadrà mai.Gli oggetti modello hanno interfacce?
Per esempio, se abbiamo una classe insegnante che mantiene un elenco di studenti, il metodo getStudents potrebbe essere:
public List<Student> getStudents() {
return this.students;
}
o questo:
public List<Student> getStudents() {
return someExternalService.retrieveStudents();
}
ho capito questo beneficio, ma qual è la pratica generale?
"pratica generale" non è necessariamente la stessa di "buona pratica", soprattutto quando si tratta di progettazione OO :) – skaffman
Non ho il tuo esempio. La tua domanda è se l'insegnante dovrebbe implementare qualche interfaccia o usare una dipendenza attraverso un'interfaccia? Ho risposte diverse per questi due casi. Il tuo testo mi fa pensare che stai pensando il primo, ma l'esempio mi fa pensare che tu voglia il secondo. Che cos'è? –
Martinho, la mia domanda è se l'insegnante deve implementare un'interfaccia e avere classi TeacherImpl risultanti. – sma