Il nostro prodotto è un sistema di gestione del corso basato sul web. Abbiamo più di 10 clienti e in futuro potremmo avere più clienti. (Asp.net, SQL Server)
Attualmente, se uno dei nostri clienti necessita di funzionalità aggiuntive o di logica aziendale personalizzata, cambieremo lo schema e il codice db per soddisfare le esigenze.
(abbiamo solo una base di codice filiale e uno schema di database)
Per fare in modo che la modifica non si influenzi reciprocamente, utilizziamo un flag client, definito in un file di configurazione Web, quindi quei campi extra e la logica biz applicata solo a un particolare sistema del cliente.
if(ClientId = 'ABC')
{
//DO ABC Stuff
}
else
{
//Normal Route
}
Uno dei nostri colleghi senior ha detto, in questo modo, una piccola azienda come noi può risparmiare risorse sul supporto di più risorse.
Ma quello che sento è che questa strategia rende il nostro codice e il nostro database ancora più difficili da mantenere.
Qualcuno ha attraversato una situazione simile? Come lo gestisci?