Le operazioni CRUD, per definizione sono ...
interfaces that permit users to create, remove, modify or retrieve data
Le implementazioni delle interfacce CRUD possono avere varie forme e talvolta possono anche essere estese a SCRUD . Ciò che la maggior parte delle interfacce CRUD ha in comune è che si riferiscono a tutte le principali funzioni di ad es. un database relazionale . Un'implementazione di base potrebbe essere simile a questa:
class CrudInterface {
void add(obj entity);
void get(obj entityKey);
void update(obj entity);
void delete(obj entityKey);
}
Ora considera il seguente metodo aggiuntivo nell'interfaccia di esempio sopra:
void add(Collection<obj> entities);
Questa cosa appartiene a un'interfaccia CRUD? Wikipedia dice
the software (which offers the CRUD interface) must allow the user to create or add new entries
Quindi l'esempio sopra sembra valido per questa definizione . Tuttavia, la maggior parte delle tecnologie di database relazionali non supporta tale operazione. E se lo fanno, per lo più passano semplicemente attraverso la collezione e aggiungono gli oggetti individualmente, il che può avere grossi inconvenienti quando un'operazione è accoppiata con una condizione o un hook di evento.
Quindi, l'uso delle collezioni sulle interfacce CRUD è valido e / o legittimo?