型別狀態模式

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Speaker Notes

  • 接腳不會實作 CopyClone,因此每個項目只能有一個實例。一旦接腳從連接埠結構中移出,就無法再供使用。
  • 變更接腳設定時會耗用舊的接腳例項,因此之後無法繼續使用舊的例項。
  • 值的型別會指出其所處狀態,例如本例中 GPIO 接腳的設定狀態。這可將狀態機器編碼至型別系統,確保您不會在未事先適當設定時嘗試使用接腳。在編譯期間,系統會偵測非法的狀態轉換作業。
  • 您可以對輸入接腳呼叫 is_high、對輸出接腳呼叫set_high,但不得反過來呼叫。
  • 許多 HAL Crate 都遵循這個模式。