Stateful program là gì?

Noun Programming

Chương trình có trạng thái (stateful program) là một chương trình có đầu ra (output) phụ thuộc vào các trạng thái (state) bên ngoài (sự kiện). Trạng thái ở đây là giá trị được lưu trữ trong các biến (variable). Bất cứ khi nào một chương trình có trạng thái, có nghĩa là chương trình đó quản lý (thay đổi) một hoặc nhiều trạng thái.

Ví dụ: hãy xem xét chương trình trạng thái này xuất ra lựa chọn kênh TV của người dùng trong ngôn ngữ Javascript:


let oldChannel = 5;
let currentChannel = 11;

function changeTVChannelTo(newNumber) {
  if(typeof newNumber === "number") {
    oldChannel = currentChannel;
    currentChannel = newNumber;
    return `Channel changed from ${oldChannel} to ${currentChannel}`;
  }
}

// Change the channel of the TV:
changeTVChannelTo(48);

// The invocation above will return:
"Channel changed from 11 to 48"

Trong đoạn mã (snippet) trên,

  • Các biến oldChannel và currentChannel là các bộ nhớ được sử dụng để lưu trữ các trạng thái.
  • Giá trị của các biến là trạng thái.
  • changeTVChannelTo() là chương trình có trạng thái được sử dụng để quản lý các trạng thái.

Các trạng thái bên trong oldChannel và currentChannel sẽ thay đổi dựa trên các đối số (argument) được truyền cho chương trình có trạng thái. Ví dụ: khi chúng ta truyền số 48 vào chương trình có trạng thái, trạng thái của oldChannel thay đổi từ 5 thành 11, trong khi trạng thái của currentChannel thay đổi từ 11 thành 48.

Ngược lại với một chương trình có trạng thái là một chương trình không trạng thái (stateless program).

Learning English Everyday