Sto tentando di capire in che modo " cambia come odore di codice " quando il percorso del codice corretto è determinato da alcuni dati osservabili.
Il mio oggetto Webapp imposta un oggetto "host" interno in base al nome host della richiesta corrente. Ogni sottoclasse di Host corrisponde a un possibile hostname e configurazione dell'applicazione: WwwHost, ApiHost, ecc. Qual è un modo OOP per una sottoclasse host di accettare la responsabilità di uno specifico nome host e per Webapp ottenere un'istanza della sottoclasse appropriata?
Attualmente, il controllo hostname e l'istanza Host sono presenti nell'oggetto Webapp. Potrei spostare il test in un metodo statico all'interno delle sottoclassi di Host, ma avrei comunque bisogno di elencare esplicitamente tali sottoclassi in Webapp, a meno che non mi ristrutturassi ulteriormente. Sembra che qualsiasi soluzione richieda l'aggiunta di nuove sottoclassi a qualche elenco centralizzato.