Vì vậy, "idempotence" có thể được định nghĩa là:Xác định Idempotence
Một hành động, nếu N lần thực hiện có tác dụng tương tự như chỉ thực hiện hành động một lần.
OK, đủ dễ dàng.
Câu hỏi của tôi là về sự tinh tế của định nghĩa này - có phải hành động được coi là chính xác không, hoặc bạn cũng phải xem xét dữ liệu được chuyển vào hành động?
Hãy để tôi làm rõ với một ví dụ:
Giả sử tôi có một phương pháp PUT cập nhật một số tài nguyên, chúng tôi sẽ gọi nó là f(x)
Rõ ràng, f(3)
là idempotent, chừng nào tôi còn cung cấp 3 như đầu vào. Và không kém phần rõ ràng, f(5)
sẽ thay đổi giá trị của tài nguyên (tức là, nó sẽ không còn là 3 hoặc bất kỳ giá trị nào đã có trước đây)
Vì vậy, khi chúng ta nói về tính không tải, chúng ta đề cập đến khái quát của hành động/chức năng như (ví dụ: f(x)
) hoặc chúng tôi đang đề cập đến hành động/chức năng + dữ liệu được truyền vào nó (ví dụ: f(3)
)?
Điều này có nên không được chuyển đến diễn đàn Toán học không? (Đối với tất cả sự rõ ràng: Tôi không downvote) –
Phụ thuộc nếu chúng ta đang nói về một định nghĩa trong logic chính thức, hoặc một định nghĩa trong lập trình web. Tôi nghi ngờ downvoter (không phải tôi) chỉ nghĩ rằng câu hỏi là ill-posed. –
@Roy -Tôi không nghĩ vậy, vì nó áp dụng trực tiếp cho các dịch vụ web RESTful, và đó là ngữ cảnh tôi đã viết ví dụ trong – Didaxis