Sto progettando e implementando ORM .NET che deve supportare sia Archiviazione di Azure (tabelle, code, BLOB) e Archiviazione AWS (EBS, SimpleDB, S3) e nascondere tutti i dettagli di implementazione dietro un'interfaccia comune . L'obiettivo principale del design è la semplicità.Linee guida per la progettazione ORM di Azure/AWS
Alcuni dei lavori sono stati eseguiti in http://www.cs.virginia.edu/~humphrey/papers/CSAL.pdf, ma la loro interfaccia proposta è, a mio parere, troppo stretta con l'interfaccia di archiviazione Azure/AWS ed è probabile che si interrompa in caso di aggiunta di nuove funzionalità o di modifiche precedenti. Ad esempio, non mi interessa che io possa creare/eliminare tabelle, ho solo bisogno di memorizzare un oggetto di qualche tipo in un modo più efficiente.
Quindi, vorrei chiederti di condividere la tua esperienza sull'argomento sotto forma di linee guida (DO, CONSIDER, EVITARE, NON). Gradirei davvero qualsiasi intuizione iniziando con i principi generali di progettazione di ORM e terminando con il livello preciso di astrazione che è più probabile che duri considerando i percorsi di evoluzione più probabili di Azure e AWS.
"è probabile che durino più a lungo considerando i percorsi di evoluzione più probabili di Azure e AWS". Come può qualcuno saperlo? – millimoose
Questo è corretto, non possiamo saperlo con certezza. La migliore ipotesi sarà sufficiente. – andriys