Così "idempotence" può essere definito come:Definizione idempotence
Un'azione, che se eseguite N volte ha lo stesso effetto di eseguire l'azione una sola volta.
Capito, abbastanza facile.
La mia domanda riguarda la sottigliezza di questa definizione -si un'azione considerata idempotente di per sé, o deve prendere in considerazione anche i dati che vengono passati in azione?
Vorrei chiarire con un esempio:
Supponiamo che io sono un metodo PUT che aggiorna alcune risorse, che chiameremo f(x)
Ovviamente, f(3)
è idempotente, finché io fornisco 3 come ingresso. E ugualmente ovvio, f(5)
cambierà il valore della risorsa (cioè non sarà più 3 o qualunque valore fosse precedentemente)
Quindi quando parliamo di idempotenza, ci riferiamo alla generalizzazione dell'azione/funzione come (es., f(x)
), o ci riferiamo all'azione/funzione + ai dati che ci sono passati (ad esempio, f(3)
)?
Non dovrebbe essere spostato nel forum Mathematics? (Per tutta chiarezza: non ho fatto downvote) –
Dipende se parliamo di una definizione in logica formale o di una definizione in programmazione web. Sospetto che il downvoter (non io) abbia pensato che la domanda fosse mal posta. –
@Roy: non credo, poiché si applica direttamente ai servizi web RESTful, e questo è il contesto in cui ho scritto l'esempio in – Didaxis