TL; DR : la mia domanda riguarda l'utilizzo congiunto:
- il modello di progettazione di dipendenza da dipendenza
- con oggetti globali / immutabili (es: una sessione che fa riferimento a un oggetto cliente)
Ho un'idea di iniezione di dipendenza e oggetti immutabili. Sono ottimi concetti e aiutano a implementare buone pratiche di sviluppo. C'è un modo per far funzionare questi lavori?
Lo scenario è di uno sfondo PHP. Abbiamo una variabile globale che rappresenta le informazioni di sessione. La maggior parte delle implementazioni scriverà una classe wrapper per gestire gli aggiornamenti persistenti ai dati della sessione.
Diciamo che il nostro wrapper di sessione ha due impostazioni:
- è loggato
- ID cliente
Questo è semplice se iniettiamo il wrapper di sessione come dipendenza senza cercare di rendere l'oggetto immutabile. Qualsiasi destinatario del wrapper di sessione può impostare le proprietà.
Ci sono idee su come far funzionare questo scenario con oggetti immutabili? Il mio pensiero è "no" ma potrei non vedere l'intera situazione correttamente.