Mi è stato chiesto di costruire una calcolatrice online in PHP (e il framework Laravel). Porteranno le risposte a una serie di domande per stimare il costo di un'estensione domestica.
Ad esempio, un paio di domande potrebbero essere:
- Qual è la bugia della tua proprietà? Piatto, leggermente inclinato, strongmente inclinato. (questi valori suggestivi potrebbero avere valori specifici nella calcolatrice sottostante come, 0 gradi, 5 gradi, 10 gradi).
- Qual è il tuo attuale sistema di pavimentazione? Di legno o di cemento?
Avrebbero quindi impatto sui risultati di altre domande. Una volta che la dimensione dell'estensione è stata inserita, la bugia del terreno inciderà sul costo del sito e sulla quantità di raccolta dei rifiuti. La seconda domanda avrà un impatto sul costo della pavimentazione delle estensioni, poiché l'ammodernamento e la posa delle assi del pavimento è un costo diverso per la posa di fondazioni e una lastra di cemento. Influenzerà anche i sistemi di riscaldamento e raffreddamento disponibili nella calcolatrice.
Quindi è MOLTO interconnesso. La risposta a qualsiasi domanda può influenzare le opzioni di altre domande e il risultato finale.
Ho difficoltà a trovare un approccio a questo che consenta di collegare nuove opzioni e domande in una fase successiva senza che le cose siano troppo accoppiate. Il pattern Observer, o gli eventi di Laravel possono essere utili, ma attualmente l'ampiezza della calcolatrice mi ha fatto fatica a raccogliere i miei pensieri e vedere un'implementazione ragionevole.
Ci sono schemi o approcci OO che possono essere d'aiuto?