Tutti,
Domanda : dovrei avere un'API di accesso ai dati comune tra varie applicazioni multipiattaforma o mantenere l'accesso ai dati specifico per l'interfaccia utente, anche se ciò comporterebbe una duplicazione?
Sfondo : ho sviluppato varie applicazioni con molte applicazioni secondarie per interagire con vari pezzi dei nostri servizi interni. Fondamentalmente ho un'applicazione desktop che contiene tutte queste applicazioni / caratteristiche più piccole e consente loro di essere utilizzate in un Launcher - quasi in stile MDI (ma non) e un'applicazione web che contiene varie applicazioni sottoinsieme per i nostri dispositivi mobili. Stiamo arrivando al punto in cui molte delle nostre applicazioni avranno una versione desktop e mobile di loro e sono curioso del modo migliore per strutturarlo. Attualmente ho una grande libreria di classi comuni che memorizza tutti i miei dati di accesso sotto forma di API che fondamentalmente interagisce con una classe interna DATA CONNECTIONS all'interno della libreria di classi comuni insieme a vari metodi di supporto comuni.
Ulteriori : l'accesso ai dati primari è Entity Framework che richiede un pacchetto NuGet per ogni progetto che utilizza la classe comune sebbene disponga anche di vari metodi di accesso ai dati manuali. Una delle preoccupazioni che ho è che il mio schema di denominazione è disordinato, mi sento di avere l'interfaccia utente strutturata da "Nome applicazione" e quindi avere cartelle duplicate nelle mie classi comuni strutturate anch'esse con lo stesso nome. Fondamentalmente, assomiglia a questo: