State machine là một kỹ thuật lập trình dùng để mô tả hành vi của một hệ thống thông qua các trạng thái và các chuyển tiếp giữa chúng

Các thành phần chính

  1. States (trạng thái) - mô tả tính huống hiện tại của hệ thống
  2. Transitions (chuyển tiếp) - mô tả điều kiện hoặc hành động làm hệ thống thay đổi từ trạng thái này sang trạng thái khác.
  3. Events (sự kiện) - tác nhân kích hoạt chuyển đổi trạng thái