Sto prendendo in prestito un progetto classico di legacy fino ad una tecnologia più moderna (ho lavorato con ASP.NET MVC ultimamente, quindi l'utilizzo di questo concetto è bloccato nella mia mente), ma sto cercando di pensare a come strutturare il progetto.
L'idea è che l'azienda fornisca un servizio ai clienti, ma il servizio è ospitato sul sito Web della società (anziché sul client) e presenta alcuni marchi / specifiche per il cliente. Diciamo che ci sono 4 o 5 pagine / passaggi per il servizio, ma alcune di queste pagine / passaggi possono essere personalizzate per ogni cliente. Quindi, quello che preferirei è:
*/step1
*/step2
*/step3
*/step4
*/step5
Dove * è il nome client ma i passaggi sono riutilizzabili. Questo non sembra prestarsi alla struttura MVC standard, o non riesco a vedere la foresta per gli alberi. Non vorrei un controller per ogni client e ripetere i passaggi per n client. Preferirei avere 5 passaggi in cui step2 o step3 potrebbero essere espansi per il client X, espanso su più per il client Y e lasciato solo per il client Z.
Se la società ha 100 client che desiderano i 5 passi standard (nessuna personalizzazione), non vorrai che 100 controllori servano fino a 5 passi (500 .cshtml di pagine nel progetto) ... giusto? Come si potrebbe progettarlo correttamente?