ORM vs differenze API Web

-1

Sto facendo fatica a capire le differenze tra un'API come un'API REST e un ORM come Entity Framework. Vorrei anche capire i vantaggi di ciascuno e in quali situazioni dovrebbe essere utilizzato.

Mi sembra che entrambi agiscano da intermediari e ti consentono di accedere e manipolare i dati da un database all'interno di un linguaggio di programmazione.

Grazie

    
posta James Fisher 11.06.2018 - 13:06
fonte

1 risposta

3

Chiamando qualcosa un'API non ti dice molto su di esso. È una categoria molto ampia, quindi le cose molto estranee vi cadranno dentro. Ma diamo un'occhiata ai due che hai citato.

Representational State Transfer (REST) is an architectural style that defines a set of constraints and properties based on HTTP.

link

Questo è diventato un metodo molto comune per i siti Web per richiedere dati da un server. Detto questo, è solo un modo per due sistemi remoti di parlare tra loro. Non è necessario utilizzare un database.

Ad esempio, potresti inviare una richiesta GET a somedomain.com/increment/35 e ricevere 36 come risposta. Nessun database necessario. Solo un po 'di codice che aggiunge 1 a qualsiasi cosa tu fornisca.

ORM in computer science is a programming technique for converting data between incompatible type systems using object-oriented programming languages. This creates, in effect, a "virtual object database" that can be used from within the programming language.

link

Ho l'impressione che quella citazione lasci fuori il caso d'uso comune e forse solo decente, che serva da intermediario tra il tuo codice e un database. L'idea è che semplificherà l'accesso e la modifica delle voci del database.

Ad esempio, invece di scrivere istruzioni SQL nel tuo codice SELECT something FROM myTable , potresti scrivere qualcosa come

entries = orm.myTable.getAll() // This replaced the SELECT call
loop entries as entry
  print(entry.something)
end loop

Un vantaggio è che se il nome di quella tabella cambia, è sufficiente aggiornare l'ORM piuttosto che tutte le chiamate SELECT. Uno svantaggio è la complessità che l'ORM comporta. Se fa risparmiare tempo, usalo. In caso contrario, non.

Potresti trovarti a utilizzare sia un'API REST che un ORM nei tuoi progetti, o forse solo uno o l'altro. Suggerirei di utilizzare alcuni strumenti che implementano ogni schema utile per ottenere una migliore comprensione di essi. Per lo meno leggi la loro documentazione. Ti aiuterà a capire il loro scopo molto più velocemente. Ogni lingua li ha, ma qui ci sono un paio in Javascript:

risposta data 11.06.2018 - 14:57
fonte

Leggi altre domande sui tag