• 0 Posts
  • 6 Comments
Joined 2 years ago
cake
Cake day: March 3rd, 2024

help-circle



  • one that i’ve used in the past but isn’t mentioned here is type state based. when developing a file upload service i have a File struct with different states that implement FileState, ie struct File<TState: FileState>. Uploading, Staged, and Committed. Uploading contains a buffer and some block IDs, Staged has no buffer but includes the block IDs, and Committed is just a marker. they can have different methods based on their type state like impl File<Uploading>. this gives us the type safety of, for example, not allowing a partially uploaded file to be committed, while still sharing some state like ID, etc.