Questo dovrebbe essere considerato un'iniezione di dipendenza, o una delega o una collaborazione tra oggetti?
Questo dovrebbe essere considerato un'iniezione di dipendenza, o una delega o una collaborazione tra oggetti?
Gli ors nella tua domanda fanno sembrare che queste tre cose si escludano a vicenda.
Questa è una forma di iniezione di dipendenza, anche se una forma non convenzionale di esso. Alla fine, stai iniettando Logger_model in User_model, quindi è l'iniezione di una dipendenza. È anche vero che Logger_model è un collaboratore in questa istanza. Ed è anche vero che User_model delega l'accesso a Logging_model.
Quindi, in fondo, è tutto quanto sopra.
Leggi altre domande sui tag object-oriented design-patterns