Ho una complessa applicazione web che gestisce i negozi e i loro clienti.
L'applicazione segue un'architettura MVC di base e dovrei migrarla a un'applicazione multi-tenant: - Devo andare da un negozio a più negozi appartenenti alla stessa azienda
-
Avrò un db per ogni negozio (un db con tenant_id non è un'opzione)
-
Vorrei mantenere le interfacce esistenti, ad esempio customer.getOrders (). Ma ora "cliente" deve cercare su diversi negozi / db. Questo mi permetterebbe di mantenere la maggior parte della logica e della presentazione
Non mi è chiaro come sia il modello migliore da un punto di vista OOP.
Devo avere ad esempio un'interfaccia cliente e quindi 2 implementazioni, CustomerSingle (quella esistente) e CustomerMulti che contiene una raccolta di CustomerSingle? Esiste un modello software noto per questa situazione?
In altre parole, tutte le classi originali saranno ancora valide nella situazione multi tenant, ma devo "aggregare" il loro risultato.